Configurer le serveur Ubuntu pour envoyer un mail ()

40

J'ai essayé beaucoup de recherches mais je n'ai pas trouvé comment installer un serveur Ubuntu, pour pouvoir envoyer des mails via php en utilisant la fonction mail () de php.

J'ai apache2, mysql et php5 installés sur mon serveur.

Je vous remercie.

Shishant
la source

Réponses:

45

Je conviens également qu'il n'y a pas assez de tutoriels pour les personnes qui n'ont besoin que d'un script à envoyer, par exemple des courriels d'erreur, et qui n'ont pas besoin d'un serveur de messagerie complet.

Premièrement, si postfix n'est pas déjà installé, faites:

sudo apt-get install postfix

Cela suscite quelques questions. Pour le premier j'ai choisi "site internet"; pour une machine derrière un pare-feu, je pourrais plutôt choisir smarthost. Pour la deuxième question, le nom de la machine est utilisé par défaut; J'ai ajouté un nom de domaine que je contrôle (je peux donc configurer le DNS plus tard, le cas échéant).

À ce stade, vous devriez pouvoir utiliser "mail" à partir de la ligne de commande pour envoyer un test. (Je suis d’abord les instructions sur http://ubuntuforums.org/showthread.php?t=38429 , sinon je dois utiliser le -fdrapeau pour /usr/bin/sendmail. J'aime aussi créer /etc/aliasesavec des entrées pour root et mon utilisateur normal, puis courir newaliases)

Ensuite, sous /etc/php5/conf.d, créez un fichier (par exemple, mailconfig.ini) avec le contenu suivant:

sendmail_from = "[email protected]"
sendmail_path = "/usr/sbin/sendmail -t -i -f [email protected]"

Remplacez [email protected] par votre adresse électronique. Ils signifient que tous les courriels ressembleront à ceux que vous avez envoyés, ce qui peut aider à empêcher leur rejet. Cela suffit pour envoyer des courriels d'erreur à un développeur.

(Les instructions ci-dessus ont été testées sur Ubuntu 10.04, 11.04, 11.10, 12.04)

PS Comme souligné par ébloui dans les commentaires, mailn'est pas toujours là (par exemple, sur Ubuntu 11.10, il manque). Cela n’affecte pas réellement les instructions ci-dessus, vous n’avez besoin mailque du test et vous pouvez sendmailaussi bien l’ utiliser . Mais mailc'est aussi utile pour lire un email, il vaut donc généralement la peine de l'installer avec: apt-get install mailutils(en tant que root).

Darren Cook
la source
1
Merci! Cela a fonctionné parfaitement. Testé sur Ubuntu 12.04 LTS x64.
Trent Scott
Cela résout la recherche en utilisant NGINX aussi! Et PHP5-FPM
TheBlackBenzKid
1
Remarque sur mon hôte, l' mailutilitaire de ligne de commande n'est pas installé sur une installation propre d'Ubuntu et l'installation de PostFix ne l'installe pas. Essayez sudo apt-get install mailutilsd'obtenir la mailcommande, ou utiliser d' autres moyens tels que Mutt, oussmtp
razzed
Il me fallait des semaines pour comprendre que tout ce qui se passait derrière sendmail_pathdoit "fonctionner correctement, commesendmail_path = "/usr/sbin/sendmail -t -i -f [email protected]"
Sliq
1
Finalement! Une solution simple et directe. Fonctionne sur Ubuntu 14.04.
Knyri
2

Vous devrez configurer le serveur Ubuntu pour pouvoir envoyer du courrier ... par exemple, vous pouvez installer et configurer postfix.

La documentation Ubuntu a une belle page à l’ adresse https://help.ubuntu.com/community/MailServer

Dominik
la source
un tutoriel vous pouvez me lier?
Shishant
a ajouté un lien de tutoriel
Dominik
1

Suivez le processus fastidieux de configuration d’un serveur de messagerie directement sur votre serveur (postfix, etc.) ou utilisez une bibliothèque vous permettant de vous connecter directement à un serveur smtp.


la source
0

Vous devriez d’abord installer le paquet xmail, et si cela ne fonctionne toujours pas, regardez ici .

Falken
la source