para mail library envio enviar correos correo configurar php smtp email

mail - smtp php



php.ini y SMTP=- cómo se transfiere el nombre de usuario y la contraseña (11)

  1. Instalar Postfix (compatible con Sendmail).
  2. Edite /etc/postfix/main.cf para leer:

#Relay config relayhost = smtp.server.net smtp_use_tls=yes smtp_sasl_auth_enable=yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_tls_CAfile = /etc/postfix/cacert.pem smtp_sasl_security_options = noanonymous

  1. Crea /etc/postfix/sasl_passwd , ingresa:

smtp.server.net username:password

  1. Escriba # /usr/sbin/postmap sasl_passwd

  2. A continuación, ejecute: service postfix reload

Ahora PHP ejecutará el correo como de costumbre con el comando sendmail -t -i y Postfix lo interceptará y lo retransmitirá a su servidor SMTP que usted proporcionó.

My ISP cuenta My ISP requiere que envíe un nombre de usuario y una contraseña para SMTP correo SMTP saliente.

¿Cómo hago para que PHP use al ejecutar php.mail()? El archivo php.ini solo contiene entradas para el servidor (SMTP= ) y From: (sendmail_from= ) .


  1. Instale el último hMailServer . "Ejecute el administrador de hMailServer" en el último paso.
  2. Conéctese a "localhost".
  3. "Agregar dominio ..."
  4. Establecer "127.0.0.1." como el "Dominio", haga clic en "Guardar".
  5. "Configuración"> "Protocolos"> "SMTP"> "Entrega de correo electrónico"
  6. Establezca "localhost" como "Nombre de host local", proporcione sus datos en la sección "SMTP Relayer" , haga clic en "Guardar".
  7. "Configuración"> "Avanzado"> "Rangos de IP"> "Mi PC"
  8. Deshabilite la casilla de verificación "Direcciones de correo electrónico externas a externas" en el grupo "Solicitar autenticación SMTP".
  9. Si ha modificado php.ini, vuelva a escribir estos 3 valores:

"SMTP = localhost",

"smtp_port = 25",

" ; sendmail_path =".

Crédito: ¿Cómo configurar WAMP (localhost) para enviar correos electrónicos usando Gmail?


Aplico los siguientes detalles en el archivo php.ini. funciona bien

SMTP = smtp.example.com smtp_port = 25 username = [email protected] password = yourmailpassord sendmail_from = [email protected]

Estos detalles son los mismos que en la configuración de Outlook.


Después de trabajar todo el día en esto, finalmente encontré una solución. Así es como envío desde Windows XP con WAMP.

  1. Use el servidor SMTP de Google. Probablemente necesites una cuenta.
  2. Descargue e instale Fake Sendmail . Acabo de descargarlo, descomprimirlo y ponerlo en la carpeta WAMP.
  3. Crea un archivo PHP de prueba. Vea abajo.

<?php $message = "test message body"; $result = mail(''[email protected]'', ''message subject'', $message); echo "result: $result"; ?>

  1. Actualice su archivo php.ini y su archivo sendmail.ini (sendmail.ini está en la carpeta sendmail).
  2. Compruebe el archivo error.log en la carpeta sendmail que acaba de crear si no funciona.

Referencia:



Estas respuestas están desactualizadas y depreciadas. Mejores prácticas..

composer require phpmailer/phpmailer

El siguiente en su archivo sendmail.php solo requiere lo siguiente

# use namespace use PHPMailer/PHPMailer/PHPMailer; # require php mailer require_once "../vendor/autoload.php"; //PHPMailer Object $mail = new PHPMailer; //From email address and name $mail->From = "[email protected]"; $mail->FromName = "Full Name"; //To address and name $mail->addAddress("[email protected]", "Recepient Name"); $mail->addAddress("[email protected]"); //Recipient name is optional //Address to which recipient will reply $mail->addReplyTo("[email protected]", "Reply"); //CC and BCC $mail->addCC("[email protected]"); $mail->addBCC("[email protected]"); //Send HTML or Plain Text email $mail->isHTML(true); $mail->Subject = "Subject Text"; $mail->Body = "<i>Mail body in HTML</i>"; $mail->AltBody = "This is the plain text version of the email content"; if(!$mail->send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message has been sent successfully"; }

Esto se puede configurar como quieras ...


PHP tiene autenticación en el comando de correo!

Lo siguiente funciona para mí en WAMPSERVER (windows, php 5.2.17)

php.ini

[mail function] ; For Win32 only. SMTP = mail.yourserver.com smtp_port = 25 auth_username = smtp-username auth_password = smtp-password sendmail_from = [email protected]


Prefiero la herramienta PHPMailer ya que no requiere PEAR. Pero de cualquier manera, tiene un malentendido: no desea una configuración de todo el servidor PHP para el usuario SMTP y la contraseña. Esto debería ser una configuración por aplicación (o por página). Si desea usar la misma cuenta en diferentes páginas PHP, agréguela a algún tipo de archivo settings.php.



Use Mail :: factory en el paquete Mail PEAR. Tutorial


Utilice Fake sendmail para Windows para enviar correo.

  1. Crea una carpeta llamada sendmail en C:/wamp/ .
  2. Extraiga estos 4 archivos en la carpeta sendmail.exe : sendmail.exe , libeay32.dll , ssleay32.dll y sendmail.ini .
  3. A continuación, configure C:/wamp/sendmail/sendmail.ini :

smtp_server=smtp.gmail.com smtp_port=465 [email protected] auth_password=your_password

  1. Lo anterior funcionará en contra de una cuenta de Gmail. Y luego configure php.ini:

    sendmail_path = "C: / wamp / sendmail / sendmail.exe -t"

  2. Ahora, reinicie Apache, y eso es básicamente todo lo que necesita hacer.