Como yo estaba investigando este problema y me encontré con este puesto y una biblioteca PHP de terceros no era una opción para mí.
Como sabemos, PHP utiliza el comando sendmail
del servidor por defecto La opción sendmail_path
en php.ini
se puede cambiar para anular la configuración de su propio mando con sus propios argumentos, etc. Por ejemplo: sendmail_path = /usr/bin/unix2dos | /usr/bin/dos2unix | /usr/sbin/sendmail -t -i
ssmtp le permitirá dirigir los correos electrónicos salientes a un mailhost de su servidor web/php. https://wiki.archlinux.org/index.php/SSMTP
apt-get install ssmtp
continuación, puede utilizar sendmail_path = /usr/sbin/ssmtp -t
para contar php para usar ssmtp en lugar de sendmail. Asegúrese de reiniciar el servidor web después de haber hecho cambios a php.ini
También asegúrese de que ha configurado ssmtp y validado el SPF, DKIM, registros DMARC antes de realizar los cambios en sendmail_path
en php.ini
Por ejemplo, servidor de correo gmail. /etc/ssmtp/ssmtp.conf
# The user that gets all the mails (UID < 1000, usually the admin)
[email protected]
# The mail server (where the mail is sent to), both port 465 or 587 should be acceptable
# See also http://mail.google.com/support/bin/answer.py?answer=78799
mailhub=smtp.gmail.com:587
# The address where the mail appears to come from for user authentication.
rewriteDomain=yourdomain.com
# The full hostname
hostname=FQDN.yourdomain.com
# Use SSL/TLS before starting negotiation
UseTLS=Yes
UseSTARTTLS=Yes
# Username/Password
[email protected]
AuthPass=postmaster-password
# Email 'From header's can override the default domain?
FromLineOverride=yes
Por una cuestión de cambio de pila para ver la misma https://unix.stackexchange.com/questions/36982/can-i-set-up-system-mail-to-use-an-external-smtp-server
Para ampliar esto.
Si el uso de Google, cada dirección de correo electrónico From:
debe ser configurado en la cuenta que se envía como una "cuenta que el propietario de" ajuste en las cuentas. De lo contrario, Google reescribirá los encabezados con x-google-original-from
y especificará el De como cuenta de envío.
Puntales por no tratar de enviar correo desde el servidor web directamente. Si bien puede reconfigurar su sendmail.cf para usar un servidor de correo externo, será más fácil usar un paquete PHP como se menciona en las respuestas. Uso Swiftmailer con un SMTP de terceros (SendGrid, un servicio basado en la nube de Rackspace) que hasta ahora parece funcionar bastante bien. – ldg
Got SwiftMailer configurado con Rackspace correo electrónico, será el cambio a través de Rackspace SendGrid más adelante una vez que aumenta el volumen de correo electrónico. ¡Gracias! – Matt