2009-08-23 5 views
9

Estoy tratando de enviar un correo electrónico de varias partes sin formato/HTML y actualmente estoy usando la función de correo de PHP(). Mucha gente me recomendó PHPMailer, así que pensé en probarlo.¿Cómo uso PHPMailer? No puedo encontrar un simple tutorial decente en línea

Sin embargo, como todo parece ser hoy en día, parece muy complicado. Lo descargué y ¡habla de instalarlo y configurar conexiones MySQL y conexiones SMTP !? Todo lo que quiero hacer es utilizar una buena clase que construirá los correos electrónicos MIME para mí y los enviará! Entiendo las posibilidades de SMTP, ¡pero todo parece tan complejo!

¿Hay alguna forma de simplemente usarlo, por ejemplo, incluir un archivo php (sin instalación de servidor o volver a compilar PHP) y luego simplemente usar la clase para compilar y enviar el correo electrónico?

Estaría muy agradecido si alguien pudiera explicar las cosas simplemente! Estoy seguro de que es posible y no puedo creer que después de mis horas de búsqueda no haya un artículo realmente bueno y simple sobre el tema en línea. ¡Todo es DEMASIADO complicado cuando sé que no tiene que ser así!

+0

¿usted intentó leer el readme proporcionado con [PHPMailer] (https://github.com/PHPMailer/PHPMailer)? Contiene un ejemplo sencillo de envío de un correo electrónico HTML exactamente como usted lo describe. Sé que esta es una vieja pregunta, ¡pero carece incluso de un vínculo básico con PHPMailer! – Synchro

Respuesta

0

Pruebe SwiftMailer en su lugar.

+0

¡Gracias, esto funcionó perfectamente la primera vez! ¡Excelentes documentos también! :-) –

+0

¿Puedo preguntar por qué hace tal recomendación? Yo también creo que phpmailer no es el mejor hoy en día, pero estoy un poco desinformado. Gracias – Daniel

+0

una sola línea, solo respuesta de enlace? ESTO NO ES UNA RESPUESTA. Ni siquiera toca la pregunta de OP. – RozzA

4

No sé nada de PHPMailer, pero recomiendo usar Zend_Mail. Aquí está un ejemplo sencillo con un archivo adjunto:

$mail = new Zend_Mail(); 
$mail->setBodyText('This is the text of the mail.'); 
$mail->createAttachment($myImage, 
         'image/gif', 
         Zend_Mime::DISPOSITION_INLINE, 
         Zend_Mime::ENCODING_8BIT); 
$mail->setFrom('[email protected]', 'Some Sender'); 
$mail->addTo('[email protected]', 'Some Recipient'); 
$mail->setSubject('TestSubject'); 
$mail->send(); 

Probablemente hace todo lo que quiere (adjuntos, HTML, SMTP-configuración, ...). Por defecto usa sendmail, como la función mail(), por lo que no tiene que configurar nada como SMTP si no lo necesita.

También tiene muy buena documentación, por lo que no tendrá problemas para encontrar ejemplos.

+0

¿Cómo extraigo las funciones necesarias de Zend framework? –

8

manera Pretty (de this link), se extienden primera PHPMailer y establecer los valores por defecto para su sitio:

require("class.phpmailer.php"); 

class my_phpmailer extends phpmailer { 
    // Set default variables for all new objects 
    var $From  = "[email protected]"; 
    var $FromName = "Mailer"; 
    var $Host  = "smtp1.example.com;smtp2.example.com"; 
    var $Mailer = "smtp";       // Alternative to IsSMTP() 
    var $WordWrap = 75; 

    // Replace the default error_handler 
    function error_handler($msg) { 
     print("My Site Error"); 
     print("Description:"); 
     printf("%s", $msg); 
     exit; 
    } 

    // Create an additional function 
    function do_something($something) { 
     // Place your new code here 
    } 
} 

Luego incluyen la secuencia de comandos cuando sea necesario (en este ejemplo se denomina mail.inc.php) y usar su recién creado my_phpmailer clase en algún lugar de su sitio:

require("mail.inc.php");//or the name of the first script 

// Instantiate your new class 
$mail = new my_phpmailer; 

// Now you only need to add the necessary stuff 
$mail->AddAddress("[email protected]", "Josh Adams"); 
$mail->Subject = "Here is the subject"; 
$mail->Body = "This is the message body"; 
$mail->AddAttachment("c:/temp/11-10-00.zip", "new_name.zip"); // optional name 

if(!$mail->Send()) 
{ 
    echo "There was an error sending the message"; 
    exit; 
} 

echo "Message was sent successfully"; 
+0

Se ve bien pero el enlace está roto – Baumr

+0

¿Por qué en PHP se usa mucha extensión, que combina fuertemente la clase e introduce dependencias, por qué no usar la agregación? – Vitalij

+0

muy apreciado por responder realmente la pregunta de OP y proporcionar el código. esto funcionó para mí, ¡gracias! – RozzA

Cuestiones relacionadas