Ich habe gerade einen bescheidenen Heimserver mit CentOS 5.5 gebaut. Ich möchte, dass der Server E-Mails an mein Google Mail-Konto oder andere E-Mail-Konten für verschiedene Zwecke wie Cron-Jobs senden kann. Es wäre auch schön, E-Mails über PHP-Anwendungen senden zu können, die ich auch auf dem Server laufe / entwickle. Oder der Server kann sogar E-Mails über den Befehl mail senden.
Ich weiß, dass es eine Million Google-Suchergebnisse gibt, die dazu dienen, Ihren Linux-Server als E-Mail-Server einzurichten oder Sendmail usw. zu konfigurieren. Aber sie scheinen nicht das zu sein, wonach ich suche ... zumindest glaube ich nicht. Ich versuche nicht, einen Unternehmensserver einzurichten, mit dem andere Clients eine Verbindung herstellen können, um E-Mails oder ähnliches zu versenden.
Ich möchte nur, dass mein Server mir E-Mails mit Informationen sendet. Scheint, als sollte es einfach sein ... Kann mich jemand in die richtige Richtung weisen?
AKTUALISIEREN
Auf eine Benutzeranfrage unten habe ich diesen Befehl ausprobiert:
/bin/mail -s "My Subject" "[email protected]" < /home/john/test
Keine Fehler oder so. Die E-Mail wurde jedoch nie in meinem Posteingang angezeigt. Hier ist meinmaillog
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)
Irgendwelche Hinweise?
Antworten:
/bin/mail -s "Enter Subject Line here" -a
/home/.../whateverFileYouWantAttached
"you@YourEmailAddress"
< /home/me/textBody.letter
versuchen Sie den obigen Befehl :)
quelle
Einfache antwort:
Richten Sie sendmail ein . Es wird von Ihrer Distribution abhängen, aber das ist überhaupt nicht schwierig. Wenn Sie spezielle Fragen haben, wenden Sie sich an uns.
Komplizierte Antwort:
Wenn Sie dies fragen, sollten Sie wahrscheinlich noch nicht mit der Waffe springen und sendmail justtt einrichten .
Sie müssen ein paar Dinge berücksichtigen:
Ermöglicht Ihnen Ihr ISP das Senden von E-Mails? Möglicherweise befinden Sie sich im IP-Bereich eines anderen Servers. Daher blockieren viele E-Mail-Anbieter Ihren gesamten IP-Bereich.
Welche Adresse verwenden Sie als Absenderadresse? Sind Sie berechtigt, von dieser Adresse aus zu senden (SPF, DomainKeys usw.)? Andernfalls werden Ihre Nachrichten möglicherweise von E-Mail-Anbietern als Spam erkannt - und das zu Recht.
Zu guter Letzt: Müssen Sie wirklich Ihren eigenen SMTP-Dienst nutzen? Gibt es einen Grund, warum die Verwendung Ihrer ISPs nicht gut genug ist?
Früher war das Einrichten eines SMTP-Servers keine große Sache. Heutzutage mag die Einrichtung einfacher sein, aber es ist eine Herausforderung , sie so einzurichten, dass sie tatsächlich Nachrichten an die Postfächer der Leute sendet .
quelle
Ich kann bestätigen, dass keiner der oben genannten Vorschläge auf meinem CentOS-System zu Hause funktioniert - kein einziger. Was nervt!
Dann habe ich dasselbe auf einer neuen Amazon-Instanz versucht, auf der CentOS 6.4 ausgeführt wird, und selbst mit der Standardkonfiguration kann ich problemlos E-Mails senden. Alles was ich tun musste war
Danach funktioniert das Versenden von E-Mails wie ein Zauber. Das Installieren von Komplikationen wie sendmail ist NICHT notwendig, um das zu erreichen, was Jakub versucht.
Es muss sich um eine Konfiguration bei meinem ISP handeln, da ich hier keine konfigurierbare Firewall habe.
quelle
Sie müssen Folgendes tun:
sudo yum install postfix telnet mailx
sudo /etc/init.d/postfix start
sudo vi /etc/postfix/main.cf
Veränderung
mydestination = mydomain.com, localhost.mydomain.com, localhost
zu
mydestination = localhost.mydomain.com, localhost
Testen Sie das Folgende über die Befehlszeile
.
Nr. 4 - Es gibt nur einen Punkt, um den Text der E-Mail zu vervollständigen. Sie sollten jetzt Mail haben.
Mit dem obigen Befehl erhalten Sie einen funktionierenden MTA (Mail Transfer Agent). Einige Ressourcen, die Ihnen bei einer erweiterten Einrichtung helfen, finden Sie in den Artikeln von slicehost zur E-Mail-Einrichtung für CentOS (scrollen Sie nach unten zum Abschnitt CentOS und E-Mail). Sie sollten wirklich in Betracht ziehen, Folgendes richtig einzustellen: Hostname, RDNS- (Reverse DNS) und SPF-Einträge (Sender Policy Framework) bei Ihrem DNS-Anbieter.
quelle
Haben Sie Ihre /etc/mail.rc geändert, um die SMTP-Adresse festzulegen?
quelle
/etc/mail.rc
istset ask askcc append dot save crt ignore Received Message-Id Resent-Message-Id Status Mail-From Return-Path Via
Was schlagen Sie vor, was ich tue?Versuchen Sie, postfix zu installieren und das Ziel in der Konfigurationsdatei festzulegen, auch wenn es mit sendmail funktionieren sollte.
quelle
Postfix ist auf dem richtigen Weg, aber es ist ziemlich unwahrscheinlich, dass Sie Ihre E-Mails zugestellt bekommen, es sei denn, Google Mail ist der Meinung, dass Sie zumindest aus der Ferne legitim sind (z. B. Sie sind kein Spammer).
Das Posten hier ist etwas aufwändig, aber der einfachste Weg, dies zu erreichen (und Ihre E-Mails zuzustellen), besteht darin, Postfix als Relay einzurichten und Ihr eigenes Google Mail-Konto als Transportmittel zu verwenden.
Der Prozess, den ich benutze, wird hier detailliert beschrieben:
http://rs20.mine.nu/w/2011/07/gmail-as-relay-host-in-postfix/
Es sind keine selbstsignierten Zertifikate erforderlich (gemäß sendmail) und meiner Erfahrung nach funktioniert es einfach!
quelle
Die einfache Lösung ist nicht sendmail, sondern sendEmail:
http://caspian.dotconf.net/menu/Software/SendEmail/#download
Ein Perl-Skript, das leicht für das Senden über jeden SMTP-Server konfiguriert werden kann. Ich verwende es, um die ganze Zeit über Google Mail-Konten zu senden, aber es funktioniert auch für gewöhnliches SMTP über TCP an Port 25 usw.
Normalerweise verpacke ich das sendEmail-Perl-Skript mit meinem eigenen Shell-Skript für Google Mail:
quelle