Comment configurer php.ini avec SMTP distant?

11

Comment configurer PHP pour envoyer du courrier en utilisant mail () via un serveur SMTP distant?

J'ai essayé de le faire en utilisant php.ini mais il semble que vous ne pouvez le faire que sous Windows32 et je veux le faire sur mon serveur Unix.

J'ai également essayé de modifier la configuration de sendmail afin qu'il utilise un serveur SMTP distant, mais je ne suis pas sûr que ce soit possible.

Brayn
la source

Réponses:

9

Mon choix est d'installer un serveur postfix dans le même serveur Web qui a envoyé du courrier uniquement pour localhost et avec ce paramètre dans main.cf pour utiliser un serveur SMTP distant:

relayhost = [a.b.c.d]

Ça marche pour moi.

hdanniel
la source
HD, pouvez-vous s'il vous plaît donner plus de détails ou me diriger vers une ressource qui explique cela. J'ai un compte Google (ainsi que Google Apps) et je pense que SMTP nécessite une authentification. Google utilise TLS pour SMTP sur le port 587 (et non 25). Où dois-je spécifier toutes ces informations?
Uri
C'est la meilleure réponse car vous déchargez le smtp pour postfixer. Si vous envoyez du courrier via votre application et que le serveur distant est en panne, vous bloquez la demande. La meilleure option est de transmettre le mailing à un employé dans une file d'attente pour faire ce travail, mais c'est un bon premier pas dans la bonne direction.
Mike
3

Ce n'est pas possible, AFAIK. Je voudrais soit:

  1. Utilisez une classe de messagerie plus complète, telle que PEAR :: Mail .
  2. Si tous les messages de cette machine doivent être relayés intelligemment, envisagez de configurer SSMTP en tant que binaire sendmail.
Dan Carley
la source
2

msmtp peut être utilisé comme alternative à sendmail qui transfère simplement le trafic directement vers un serveur SMTP externe. Il est assez facile à installer et fonctionne très bien.

Jonathan Prior
la source
msmtp m'a sauvé la vie :)
w00t
1

Vous pouvez utiliser les outils IMAP intégrés de PHP ou le très pratique PHPMailer

Cela pourrait être mieux répondu sur Stack Overflow, je le crains ...

Andy
la source
2
+1 pour la réponse, je ne suis cependant pas d'accord avec le commentaire ultérieur. Habituellement, les administrateurs système obtiennent la «partie amusante» de la configuration de SMTP car tous les programmeurs n'ont aucune idée de ce que c'est. Ils veulent juste que "l'e-mail fonctionne". Bien sûr, je généralise, sans jeu de mots.
Andrioid
0

La fonction mail () interne ne peut utiliser SMTP que sur une machine Windows comme vous l'avez dit.

La seule option est d'utiliser PHPMailer. Vous pouvez également essayer le package PHP PEAR: http://pear.php.net/package/Mail

Mohammed Naser
la source
-1

https://docs.nexcess.net/article/how-to-configure-a-remote-mail-server.html Dans le menu principal de SiteWorx, cliquez sur Administration> Options de messagerie> Configuration à distance. - Voir plus sur: https://docs.nexcess.net/article/how-to-configure-a-remote-mail-server.html#sthash.JeroEsDU.dpuf

Vishal Panchal
la source
Bienvenue dans Server Fault! Bien que cela puisse théoriquement répondre à la question, veuillez fournir un contexte autour des liens afin que les autres aient une idée de ce que c'est et pourquoi c'est là. Si possible, résumez ou citez la partie la plus pertinente d'un lien important, au cas où le site cible serait inaccessible ou se déconnecterait définitivement.
HBruijn