PHP sempre ha portat integrada la funció mail(), que permet enviar de forma senzilla un correu electrònic. Els exemples són:

<?php
// the message
$msg = "First line of text\nSecond line of text";

// use wordwrap() if lines are longer than 70 characters
$msg = wordwrap($msg,70);

// send email
mail("someone@example.com","My subject",$msg);
?>
<?php
$to      = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = array(
    'From' => 'webmaster@example.com',
    'Reply-To' => 'webmaster@example.com',
    'X-Mailer' => 'PHP/' . phpversion()
);

mail($to, $subject, $message, $headers);
?>

És una funció senzilla i àgil. Tot i això, mail() no permet especificar informació del servidor SMTP, mostrar errors, portar un major control dels enviaments, etc. En alguns projectes és impertaiu definir aquestes dades.

Quan arriba aquesta necessitat, tenim PHPMailer. Aquest programari és de codi obert, es troba a GitHub, i es distribueix sota la llicència LGPL 2.1 , juntament amb el Compromís de cooperació GPL .

Característiques de PHPMailer

  • Probablement, el codi més popular del món per enviar correu electrònic des de PHP.
  • Utilitzat per molts projectes de codi obert: WordPress, Drupal, 1CRM, SugarCRM, Yii, Joomla! i molts més.
  • Suport SMTP integrat: envieu sense un servidor de correu local.
  • Envia correus electrònics amb adreces múltiples de To, CC, BCC i Reply-to.
  • Correu electrònic alternatiu per a clients de correu que no llegeixin correus electrònics HTML.
  • Afegiu fitxers adjunts, fins i tot en línia.
  • Suport per a continguts UTF-8 i codificacions 8 bits, base64, binàries i cita-imprimibles.
  • Autenticació SMTP amb els mecanismes LOGIN, PLAIN, CRAM-MD5 i XOAUTH2 a través de transports SSL i SMTP + STARTTLS.
  • Valida les adreces de correu electrònic automàticament.
  • Protegeix contra atacs d’injecció de capçalera.
  • Missatges d’error en més de 50 idiomes.
  • Suport de signatura DKIM i S / MIME.
  • Compatible amb PHP 5.5 i posterior.
  • Espai de noms per evitar els enfrontaments de noms.
  • Etc.