Foros del Web » Programando para Internet » PHP »

Send email attachments en PHP

Estas en el tema de Send email attachments en PHP en el foro de PHP en Foros del Web. Alguien sabe como implementar un attachment en este php Código PHP: <?php // User settings $to  =  "[email protected]" ; $subject  =  "Proofreading Contact Form" ; // Include extra form fields and/or submitter data? // false = do not include $extra  = array( ...
  #1 (permalink)  
Antiguo 05/02/2010, 20:39
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 652
Antigüedad: 19 años, 4 meses
Puntos: 6
Send email attachments en PHP

Alguien sabe como implementar un attachment en este php

Código PHP:
<?php

// User settings
$to "[email protected]";
$subject "Proofreading Contact Form";

// Include extra form fields and/or submitter data?
// false = do not include
$extra = array(
        
"form_subject"        => true,
        
"form_cc"                => true,
        
"ip"                                => true,
        
"user_agent"        => true
);

// Process
$action = isset($_POST["action"]) ? $_POST["action"] : "";
if (empty(
$action)) {
        
// Send back the contact form HTML
        
$output "<div style='display:none'>
        <div class='contact-top'></div>
        <div class='contact-content'>
                <h1 class='contact-title'>Send us a message:</h1>
                <div class='contact-loading' style='display:none'></div>
                <div class='contact-message' style='display:none'></div>
                <form action='#' style='display:none'>
                        <label for='contact-name'>*Name:</label>
                        <input type='text' id='contact-name' class='contact-input' name='name' tabindex='1001' />
                        <label for='contact-email'>*Email:</label>
                        <input type='text' id='contact-email' class='contact-input' name='email' tabindex='1002' />"
;

        if (
$extra["form_subject"]) {
                
$output .= "
                        <label for='contact-subject'>Subject:</label>
                        <input type='text' id='contact-subject' class='contact-input' name='subject' value='' tabindex='1003' />"
;
        }

        
$output .= "
                        <label for='contact-message'>*Message:</label>
                        <textarea id='contact-message' class='contact-input' name='message' cols='40' rows='4' tabindex='1004'></textarea>
                        <br/>"
;

        if (
$extra["form_cc"]) {
                
$output .= "
                        <label>&nbsp;</label>
                        <input type='checkbox' id='contact-cc' name='cc' value='1' tabindex='1005' /> <span class='contact-cc'>Send me a copy</span>
                        <br/>"
;
        }

        
$output .= "
                        <label>&nbsp;</label>
                        <button type='submit' class='contact-send contact-button' tabindex='1006'>Send</button>
                        <button type='submit' class='contact-cancel contact-button simplemodal-close' tabindex='1007'>Cancel</button>
                        <br/>
                        <input type='hidden' name='token' value='" 
smcf_token($to) . "'/>
                </form>
        </div>
        </div>"
;

        echo 
$output;
}
else if (
$action == "send") {
        
// Send the email
        
$name = isset($_POST["name"]) ? $_POST["name"] : "";
        
$email = isset($_POST["email"]) ? $_POST["email"] : "";
        
$subject = isset($_POST["subject"]) ? $_POST["subject"] : $subject;
        
$message = isset($_POST["message"]) ? $_POST["message"] : "";
        
$cc = isset($_POST["cc"]) ? $_POST["cc"] : "";
        
$token = isset($_POST["token"]) ? $_POST["token"] : "";

        
// make sure the token matches
        
if ($token === smcf_token($to)) {
                
smcf_send($name$email$subject$message$cc);
                echo 
"Your message was successfully sent.";
        }
        else {
                echo 
"Unfortunately, your message could not be verified.";
        }
}

function 
smcf_token($s) {
        return 
md5("smcf-" $s date("WY"));
}

// Validate and send email
function smcf_send($name$email$subject$message$cc) {
        global 
$to$extra;

        
// Filter and validate fields
        
$name smcf_filter($name);
        
$subject smcf_filter($subject);
        
$email smcf_filter($email);
        if (!
smcf_validate_email($email)) {
                
$subject .= " - invalid email";
                
$message .= "\n\nBad email: $email";
                
$email $to;
                
$cc 0// do not CC "sender"
        
}

        
// Add additional info to the message
        
if ($extra["ip"]) {
                
$message .= "\n\nIP: " $_SERVER["REMOTE_ADDR"];
        }
        if (
$extra["user_agent"]) {
                
$message .= "\n\nUSER AGENT: " $_SERVER["HTTP_USER_AGENT"];
        }

        
// Set and wordwrap message body
        
$body "From: $name\n\n";
        
$body .= "Message: $message";
        
$body wordwrap($body70);

        
// Build header
        
$headers "From: $email\n";
        if (
$cc == 1) {
                
$headers .= "Cc: $email\n";
        }
        
$headers .= "X-Mailer: PHP/SimpleModalContactForm";

        
// UTF-8
        
if (function_exists('mb_encode_mimeheader')) {
                
$subject mb_encode_mimeheader($subject"UTF-8""B""\n");
        }
        else {
                
// you need to enable mb_encode_mimeheader or risk 
                // getting emails that are not UTF-8 encoded
        
}
        
$headers .= "MIME-Version: 1.0\n";
        
$headers .= "Content-type: text/plain; charset=utf-8\n";
        
$headers .= "Content-Transfer-Encoding: quoted-printable\n";

        
// Send email
        
@mail($to$subject$body$headers) or 
                die(
"Unfortunately, a server issue prevented delivery of your message.");
}

// Remove any un-safe values to prevent email injection
function smcf_filter($value) {
        
$pattern = array("/\n/","/\r/","/content-type:/i","/to:/i""/from:/i""/cc:/i");
        
$value preg_replace($pattern""$value);
        return 
$value;
}

// Validate email address format in case client-side validation "fails"
function smcf_validate_email($email) {
        
$at strrpos($email"@");

        
// Make sure the at (@) sybmol exists and  
        // it is not the first or last character
        
if ($at && ($at || ($at 1) == strlen($email)))
                return 
false;

        
// Make sure there aren't multiple periods together
        
if (preg_match("/(\.{2,})/"$email))
                return 
false;

        
// Break up the local and domain portions
        
$local substr($email0$at);
        
$domain substr($email$at 1);


        
// Check lengths
        
$locLen strlen($local);
        
$domLen strlen($domain);
        if (
$locLen || $locLen 64 || $domLen || $domLen 255)
                return 
false;

        
// Make sure local and domain don't start with or end with a period
        
if (preg_match("/(^\.|\.$)/"$local) || preg_match("/(^\.|\.$)/"$domain))
                return 
false;

        
// Check for quoted-string addresses
        // Since almost anything is allowed in a quoted-string address,
        // we're just going to let them go through
        
if (!preg_match('/^"(.+)"$/'$local)) {
                
// It's a dot-string address...check for valid characters
                
if (!preg_match('/^[-a-zA-Z0-9!#$%*\/?|^{}`~&\'+=_\.]*$/'$local))
                        return 
false;
        }

        
// Make sure domain contains only valid characters and at least one period
        
if (!preg_match("/^[-a-zA-Z0-9\.]*$/"$domain) || !strpos($domain"."))
                return 
false;        

        return 
true;
}

exit;

?>

Etiquetas: email, send
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:39.