Como faço para usar PHPMailer? Não consigo encontrar um tutorial decente simples on-line

StackOverflow https://stackoverflow.com/questions/1318861

  •  19-09-2019
  •  | 
  •  

Pergunta

Eu estou tentando enviar um Plain / HTML multipart enviar e-mail para fora e eu estou usando atualmente a função de PHP mail (). Muitas pessoas têm recomendado PHPMailer então eu pensei que eu iria dar-lhe um ir.

No entanto, como tudo parece ser hoje em dia, parece muito complicado. Eu baixei ele e ele fala sobre sua instalação e configuração de conexões MySQL e conexões SMTP !? Tudo o que eu quero fazer é usar uma classe agradável que vai construir os e-mails MIME para mim e enviá-los! Eu entendo as possibilidades de SMTP, mas tudo parece tão complexo!

Existe alguma maneira de simplesmente usá-lo, por exemplo, incluir um arquivo php (sem instalação de servidor ou re-compilar o PHP!) E, em seguida, apenas usando a classe para construir e enviar o e-mail?

Eu ficaria muito grato se alguém pudesse explicar as coisas simplesmente! Eu tenho certeza que é possível e eu não posso acreditar que depois de minhas horas de busca, não há realmente bom, simples artigo sobre isso online. TOO Tudo é complicado quando eu sei que não precisa ser!

Foi útil?

Solução

Outras dicas

forma bonita (de este link ), primeira estender PHPMailer e definir o padrões para o seu site:

require("class.phpmailer.php");

class my_phpmailer extends phpmailer {
    // Set default variables for all new objects
    var $From     = "from@example.com";
    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
    }
}

Em seguida, incluem o script acima onde for necessário (neste exemplo é nomeado mail.inc.php) e usar o seu em algum lugar da classe my_phpmailer recém-criado em seu site:

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("josh@example.com", "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";

Eu não sei nada sobre PHPMailer, mas eu recomendo usar Zend_Mail . Aqui está um exemplo simples com um anexo:

$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('somebody@example.com', 'Some Sender');
$mail->addTo('somebody_else@example.com', 'Some Recipient');
$mail->setSubject('TestSubject');
$mail->send();

Provavelmente faz tudo o que você quer (Anexos, HTML, SMTP-configuração, ...). Por padrão, ele usa sendmail, como a função mail(), para que você não tem que configurar nada como SMTP se você não precisa dele.

Ele também tem muito boa documentação, assim você não terá exemplos constatação de problemas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top