Wie versende ich E-Mails vom Ubuntu-Server?


12

Ich soll nur E-Mails von Ubuntu senden. Die einfachste Möglichkeit, die ich gefunden habe, besteht darin, Thunderbird zu verwenden und meine echte E-Mail-Adresse (abc@hotmail.com) mit dem Thunderbird-Konto zu verknüpfen. Ich kann auf diese Weise erfolgreich E-Mails empfangen und den vollständigen Verlauf herunterladen. Ich kann jedoch keine E-Mails senden.

Was ich tun möchte, ist, E-Mails direkt von Ubuntu aus zu senden und als user1 @ localhost oder ähnliches zu erscheinen.

Ist das überhaupt möglich? Nach dem Lesen verschiedener Themen zu diesem Thema scheint die Verwendung einer Relaisadresse der einzige Weg zu sein.

Ich habe auch Postfix wie dort beschrieben installiert: Wie richte ich einen Mailserver ein? Als ich nach dem Installationstyp gefragt wurde, wählte ich die Internetseite.

Optionen, die ich hatte:

  • Keine Konfiguration;
  • Internetseite;
  • Internet mit Smarthost;
  • Stellitensystem;
  • Nur lokal;

Auf die Frage nach dem System-Mail-Namen habe ich eine Website eingegeben, die mir gehört: some_website.com. Ich habe immer noch nicht herausgefunden, wie ich E-Mails per Postfix verschicke, aber ich gehe davon aus, dass wieder ein Relay-Server verwendet wird.

Ich verwende Ubuntu 11.10 als virtuelle Maschine.

Ich hoffe diese Frage macht Sinn.

Antworten:


13

Es ergibt keinen Sinn, weil Sie gesagt haben, "was zu tun ist", als ob es Ihr Job wäre. Richten Sie einen realen Mailserver in einer virtuellen Maschine ein? Unter den Hinweisen verstehe ich, dass der virtuelle Server über ein Mail-System verfügen muss, der virtuelle Server jedoch kein vollzeitiger "realer" SMTP-Server ist. (Sonst wüsstest du es schon, denke ich wild.)

In diesem Sinne benötigen Sie die Option "Internet mit Smarthost". Der Hauptgrund dafür ist, dass gut konfigurierte SMTP-Server auf der ganzen Welt Anti-Spam-Maßnahmen verwenden. Zu diesen Maßnahmen gehört auch die Ablehnung aller SMTP-Verbindungen, die aus bekannten Pools dynamischer Adressen stammen (die Spammer gerne verwenden). Daher müssen Sie einen anderen SMTP-Server für ausgehende E-Mails verwenden.

Wenn Sie diesbezüglich bei Postfix bleiben möchten, ist dies ganz einfach: Suchen Sie einfach nach Ubuntu-Artikeln, die sich auf das Einrichten von Postfix als Smarthost beziehen. Wenn Sie jedoch keine besondere Affinität zu einem System auf ein anderes, es ist ein Paket , nur für diese entwickelt: ssmtp. Wenn Sie es also ausprobieren möchten, installieren Sie einfach ssmtp.

( Achtung: Die Aktion unten entfernt Postfix oder Sendmail. )

sudo apt-get install ssmtp

Bearbeiten Sie dann die ssmtp-Konfigurationsdatei:

sudo -e /etc/ssmtp/ssmtp.conf

Ich kenne keine Details zu einem SMTP-Server, der Ihnen zur Verfügung steht, daher werde ich ein GMail-Beispiel geben:

Root=your_email@gmail.com
Mailhub=smtp.gmail.com:465
RewriteDomain=gmail.com
AuthUser=your_gmail_username # me@gmail.com
AuthPass=your_gmail_password
FromLineOverride=Yes
UseTLS=Yes

Jetzt sendet Ihr System E-Mails so, wie Sie es möchten. Sie können localhost als Mailserver in Ihren GUI-Anwendungen für den ausgehenden SMTP-Server verwenden. Aber was ist mit der CLI? Verwenden Sie die mailSoftware:

sudo apt-get install heirloom-mailx

Jetzt können Sie Mail auch von der Kommandozeile aus mit etwas verwenden, wie:

mail < filename.ascii someone@somewhere.com -s "My File"

Wenn Sie maileine Nachricht verfassen, die Sie eingeben ( mail someone@somewhere.com), beenden Sie die E-Mail-Nachricht mit einem einzelnen Punkt in einer leeren Zeile. Ein besserer CLI-Mail-Client ist muttoder pine.

Ist das der Winkel, den du brauchst? Wenn ja, war es erfolgreich?


1
Mutt sagt "sendmail: Kann nicht öffnen: 25", wenn ich versuche, eine E-Mail zu senden. ssmtp sagt "ssmtp: kann nicht öffnen: 25" Ich sagte auch, dass ich E-Mails über Thunderbird senden kann, aber ich glaube, ich habe mich geirrt. Das tut mir leid. Beim Senden von E-Mail-Versuchen über Thunderbird tritt eine Zeitüberschreitung auf. Bei Verwendung von CLI-E-Mail-Clients treten Nachrichten über Port 25 auf.
afaf12

@ afaf12 überprüfe, ob die Firewall blockiert. Verbindungs-Timeout-Fehler treten hauptsächlich aufgrund eines Firewall-Problems auf.
Mughil

1
Beschränkt der Remotemailserver den Zugriff auf bestimmte Adressbereiche durch Konfiguration oder Firewall?

Müssen Sie auf diesem Remote-Mail-Server den Übermittlungsport 465 verwenden?

Ich kann sudo /etc/init.d/ssmtp restartauf meiner Maschine nicht arbeiten.
Nam G VU

1

Wenn Sie Thunderbird verwenden, können Sie einen Remote-Server für SMTP konfigurieren. Sofern Sie keinen eigenen Mail-Server haben, ist dies normalerweise der Relay-Server Ihres ISP oder der SMTP-Server Ihres Mail-Providers. Ich habe Google Mail erfolgreich als SMTP-Server verwendet, es ist jedoch eine Authentifizierung erforderlich. (Einige der anderen Gastgeber können auch.)

Testen Sie den Zugriff auf den Server mit dem Befehl telnet mail.example.com 25. Wenn es funktioniert, erhalten Sie eine Bannermeldung vom Server.

Sobald Thunderbird mit dem Server arbeitet, können Sie Exim oder Postfix als Satellitenserver für denselben Server konfigurieren. Sie können dies überspringen, wenn Sie keine E-Mails aus anderen Anwendungen vom System senden müssen. Achten Sie darauf, dass die Quelladresse auf dem ausgehenden Server E-Mails akzeptieren kann.

BEARBEITEN: Stellen Sie sicher, dass iptables nicht aktiviert ist und ausgehenden Datenverkehr blockiert. Aktivieren Sie in diesem Fall den ausgehenden Datenverkehr auf dem gewünschten Port. Sie können einen Befehl verwenden, um tcptraceroute mail.example.com 25zu sehen, wo Sie blockiert werden. tcptracerouteMüsste installiert werden, bevor Sie es verwenden.


Telnet: Verbindung zum Remote-Host nicht möglich: Zeitüberschreitung bei der Verbindung. Ich bin sicher, dass der Remote-Server E-Mails an Port 25 annehmen kann. Ich habe erfolgreich E-Mails von einem anderen Computer an diesen Remote-Server gesendet (Windows 7).
Afaf12

0

Ich habe dies an einer Landstreicher-Box getestet und es funktioniert einwandfrei. Wird folgendermaßen installiert, indem der Befehl ausgeführt wird

Apt-Get installieren PHP-Birne

Birne Mail installieren

Installieren Sie Net_SMTP

Installieren Sie Auth_SASL

Birne installieren mail_mime

Installieren Sie anschließend Postfix, indem Sie den folgenden Befehl ausführen

apt-get postfix installieren

während der Installation

Internet Site und localhost anstelle des Servers, da wir dies auf localhost versuchen

Führen Sie danach den folgenden Befehl aus

sudo vim /etc/ssmtp/ssmtp.conf

Änderungen an Dateien vornehmen

Ändern Sie dies in die Datei ssmtp.conf

FromLineOverride = YES

AuthUser=youremail@gmail.com

AuthPass = Ihre Pässe

Am wichtigsten ist, dass Sie Ihre E-Mails für weniger sichere Apps zugänglich machen, indem Sie

https://www.google.com/settings/security/lesssecureapps

und dann können Sie die PHP-Mail-Funktion verwenden oder den folgenden Befehl im Terminal eingeben, um E-Mails vom Terminal selbst zu senden

$ ssmtp youremail@gmail.com

Von: youremail@gmail.com

AN: sendto@email.com

Betreff: Der Betreff

Hallo das ist meine erste ssmtp email !.

Drücken Sie Strg + D und ssmtp wird Ihre E-Mail senden

Sie können auch überprüfen, ob SMTP auf Ihrem Computer funktioniert oder nicht

ping smtp.gmail.com

--output von diesem Befehl ist so etwas wie

64 Bytes von sc-in-f108.1e100.net (74.125.68.108): icmp_seq = 1 ttl = 63 time = 68.4 ms

telnet smtp.gmail.com 587

--output muss ungefähr so ​​sein

74.125.68.108 wird versucht ...

Verbunden mit gmail-smtp-msa.l.google.com.

220 smtp.gmail.com ESMTP l14sm12513264pfb.73 - gsmtp

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.