Aprende a enviar correos electrónicos a partir dun script PHP usando unha autenticación SMTP sinxela

Como conectarse a un servidor SMTP saínte dun script PHP

O envío dun correo electrónico desde un script PHP é sinxelo, rápido e sinxelo ... se funciona.

Parte do que fai que a función de correo electrónico PHP () funcione tan sinxelo é a súa falta de flexibilidade, pero un problema con isto é que o correo PHP de stock () non adoita deixar que use o servidor SMTP que escolla e non admite autenticación SMTP.

Afortunadamente, superar as deficiencias incorporadas de PHP non é difícil. Para a maioría dos usuarios de correo electrónico, o paquete de correo PEAR gratuíto ofrece todo o poder e flexibilidade necesarios e autenticación co seu servidor de correo saínte desexado. Para obter unha seguridade mellorada, as conexións SSL cifradas tamén son compatibles para enviar correo usando o correo PEAR tamén.

Como enviar correo electrónico desde un script PHP con autenticación SMTP

Para comezar, instale o paquete PEAR Mail. Normalmente, isto xa se realizou para vostede con PHP 4 e posterior, pero se non está seguro se xa o ten, continúa e instálalo.

Copia este código:

Sandra Sender >"; $ to = " Beneficiario de Ramona "; $ subject = "Hola!"; $ body = "Hola, \ n \ nComo estas?"; $ host = " mail.example.com "; $ username = " smtp_username "; $ password = " smtp_password "; $ headers = array ('From' => $ from, 'To' => $ to, 'Subject' => $ subject); $ smtp = Correo :: factory ('smtp', array ('host' => $ host, 'auth' => true, 'username' => $ username, 'password' => $ password)); $ mail = $ smtp-> enviar ($ a, $ cabeceiras, $ corpo); se (PEAR :: isError ($ mail)) {echo ("

". $ mail-> getMessage (). ""); } máis {echo ("

Mensaxe enviada con éxito! "); }?>

Localiza todo o texto en negra no noso exemplo e cambia as áreas do guión ao que sexa relevante para ti. Estas son as únicas áreas que debe cambiar para que funcione o script PHP, pero tamén asegúrese de axustar o texto do asunto e do corpo tamén.

  • desde : O enderezo de correo electrónico desde onde desexa que se envíe a mensaxe
  • a : enderezo e nome do destinatario
  • host : O seu nome de servidor SMTP saínte
  • nome de usuario : o nome de usuario de SMTP (normalmente o mesmo que o nome de usuario usado para recuperar o correo)
  • contrasinal : o contrasinal para a autenticación SMTP

Nota: O exemplo anterior é dun script PHP que envía un correo electrónico con autenticación SMTP pero sen cifrado SSL. Se quere cifrar tamén, use este script, unha vez máis, cambiando o texto en negra coa súa información.

Sandra Sender >"; $ to = " Beneficiario de Ramona >"; $ subject = "Hola!"; $ body = "Hola, \ n \ nComo estas?"; $ host = " ssl: //mail.example.com "; $ port = " 465 "; $ username = " smtp_username "; $ password = " smtp_password "; $ headers = array ('From' => $ from, 'To' => $ to, 'Subject' => $ subject); $ smtp = Correo :: factory ('smtp', array ('host' => $ host, 'port' => $ port, 'auth' => true, 'username' => $ username, 'password' => contrasinal de $)); $ mail = $ smtp-> enviar ($ a, $ cabeceiras, $ corpo); se (PEAR :: isError ($ mail)) {echo ("

". $ mail-> getMessage (). ""); } máis {echo ("

Mensaxe enviada con éxito! "); }?>