Je viens de construire un modeste serveur domestique en utilisant CentOS 5.5. Je veux que le serveur puisse envoyer des e-mails à mon compte Gmail ou à d'autres comptes de messagerie pour diverses choses comme les tâches cron. De plus, ce serait bien de pouvoir envoyer des e-mails via des applications PHP que je lance / développe également sur le serveur. Ou même être en mesure pour le serveur d'envoyer des e-mails via la commande mail.
Je sais qu'il y a un million de résultats de recherche Google sur la configuration de votre serveur Linux en tant que serveur de messagerie ou la configuration de sendmail, etc. Mais ils ne semblent pas être ce que je recherche ... du moins, je ne le pense pas. Je n'essaie pas de configurer un serveur d'entreprise auquel d'autres clients peuvent se connecter pour envoyer des e-mails ou quelque chose de compliqué comme ça.
Je veux juste que mon serveur m'envoie des e-mails sur des trucs. On dirait que ça devrait être simple ... Quelqu'un peut-il m'orienter dans la bonne direction?
MISE À JOUR
Par une demande d'utilisateurs ci-dessous, j'ai essayé cette commande:
/bin/mail -s "My Subject" "[email protected]" < /home/john/test
Aucune erreur ou quoi que ce soit. Mais l'e-mail n'est jamais apparu dans ma boîte de réception. Voici monmaillog
Oct 27 00:52:19 localhost sendmail[13702]: o9R6qJhU013702: from=root, size=10906, class=0, nrcpts=1, msgid=<[email protected]>, relay=root@localhost
Oct 27 00:52:19 localhost sendmail[13703]: o9R6qJOd013703: from=<[email protected]>, size=11209, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
Oct 27 00:52:19 localhost sendmail[13702]: o9R6qJhU013702: [email protected], ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=40906, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (o9R6qJOd013703 Message accepted for delivery)
Des indices?
Réponses:
/bin/mail -s "Enter Subject Line here" -a
/home/.../whateverFileYouWantAttached
"you@YourEmailAddress"
< /home/me/textBody.letter
essayez la commande ci-dessus :)
la source
Réponse simple:
Configurez sendmail . Cela dépendra de votre distribution mais ce n'est pas difficile du tout. Si vous avez des questions spécifiques, posez-les.
Réponse compliquée:
Si vous posez cette question, vous ne devriez probablement pas simplement sauter le pistolet et configurer sendmail pour l' instant.
Vous devrez prendre quelques éléments en considération:
Votre FAI vous autorise-t-il à envoyer des e-mails? Vous êtes peut-être sur une plage IP non-serveur et, par conséquent, de nombreux fournisseurs de messagerie bloquent votre accès.
Quelle adresse utiliserez-vous comme adresse de départ? Êtes-vous autorisé à envoyer à partir de cette adresse (SPF, DomainKeys, etc.)? Sinon, vos messages pourraient être détectés comme spam par les fournisseurs de messagerie --- et à juste titre.
Dernier point, mais non le moindre: avez-vous vraiment besoin d'utiliser votre propre service SMTP? Une raison pour laquelle l'utilisation de vos FAI n'est pas suffisante?
À l'époque, la configuration d'un serveur SMTP n'était pas un gros problème. De nos jours, la configuration peut être plus facile, mais sa configuration pour qu'il reçoive réellement les messages dans les boîtes aux lettres des utilisateurs est un défi.
la source
Je peux confirmer qu'aucune des suggestions ci-dessus ne fonctionne non plus sur mon système CentOS à la maison - pas une seule. Ce qui est ennuyeux!
Ensuite, j'ai essayé la même chose sur une nouvelle instance Amazon exécutant CentOS 6.4, et même avec la configuration par défaut, je peux envoyer des messages sans problème. Tout ce que j'avais à faire était
après quoi l'envoi de courrier comme décrit ci-dessus fonctionne comme un charme. L'installation de complications comme sendmail n'est PAS nécessaire pour ce que Jakub essaie de faire.
Il doit s'agir d'une configuration avec mon FAI, car je n'ai pas de pare-feu configurable de mon côté ici.
la source
Vous devez effectuer les opérations suivantes:
sudo yum install postfix telnet mailx
sudo /etc/init.d/postfix start
sudo vi /etc/postfix/main.cf
Changement
mydestination = mydomain.com, localhost.mydomain.com, localhost
à
mydestination = localhost.mydomain.com, localhost
Testez à l'aide des éléments suivants à partir de la ligne de commande
.
N ° 4 - il n'y a qu'un arrêt complet pour compléter le corps de l'e-mail. Vous devriez maintenant avoir du courrier.
Ce qui précède vous donnera un MTA (Mail Transfer Agent) fonctionnel. Certaines ressources qui vous aideront avec une configuration plus avancée peuvent être trouvées dans les articles de slicehost sur la configuration de la messagerie pour CentOS (faites défiler la page jusqu'à la section CentOS et e-mail). Vous devriez vraiment envisager de définir correctement les éléments suivants: nom d'hôte, enregistrements RDNS (DNS inversé) et SPF (Sender Policy Framework) avec votre fournisseur DNS.
la source
Avez-vous modifié votre /etc/mail.rc pour définir l'adresse smtp?
la source
/etc/mail.rc
:set ask askcc append dot save crt ignore Received Message-Id Resent-Message-Id Status Mail-From Return-Path Via
Que proposez-vous que je fasse?Essayez d'installer postfix et définissez mydestination dans le fichier de configuration, même si cela devrait fonctionner avec sendmail.
la source
Postfix est sur la bonne voie, mais à moins que gmail ne pense que vous êtes au moins légitime à distance (par exemple, vous n'êtes pas un spammeur), la réception de votre courrier est peu probable.
Le processus est un peu compliqué à publier ici, mais le moyen le plus simple que j'ai trouvé pour y parvenir (et faire livrer votre courrier) est de configurer postfix comme relais, en utilisant votre propre compte gmail comme transport.
Le processus que j'utilise est détaillé ici:
http://rs20.mine.nu/w/2011/07/gmail-as-relay-host-in-postfix/
Aucune configuration de certificats auto-signés n'est nécessaire (selon sendmail) et d'après mon expérience, cela fonctionne!
la source
La solution simple n'est pas sendmail, mais sendEmail:
http://caspian.dotconf.net/menu/Software/SendEmail/#download
Un script Perl qui est facilement configuré pour envoyer via n'importe quel serveur SMTP auquel vous pouvez accéder - Je l'utilise pour envoyer via des comptes Gmail tout le temps, mais il fonctionne également pour SMTP ordinaire sur TCP sur le port 25, etc.
J'habille généralement le script perl sendEmail avec mon propre script shell pour Gmail:
la source