UNIX: Senden Sie E-Mails über SMTP-Server
Ich möchte senden Sie eine E-Mail über einen SMTP-Remoteserver. Wie kann das getan werden? Ich werde das senden der E-Mail von einer bash-shell-Skript.
Ich bin mit einer unix-Maschine. uname -a
gibt:
Linux linux 2.4.21 BrandZ fake linux i686 athlon i386 GNU/Linux
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kontaktaufnahme mit einem remote-SMTP-server direkt ist im Allgemeinen nicht die Art und Weise dies geschieht. Was, zum Beispiel, wenn der server vorübergehend nicht verfügbar ist?
Den einfacheren Weg ist, um einen lokalen mailserver wie postfix, exim oder qmail, und stellen Sie es zum senden von Nachrichten über einen remote-server. Dann können Sie einfach Befehl-Linie
sendmail
senden Sie Ihre e-mail.In postfix auf Ubuntu, habe ich die folgenden im master.cf:
Müssen Sie die Letzte Zeile, falls Ihr ISP-mail-server erfordert, dass alle ausgehenden E-Mails stammt aus
[email protected]
. Dann müssen Sie auch /etc/postfix/generic so:Hinzufügen andere Varianten (z.B.
[email protected]
) als notwendig.Den
mailx
Befehl kann verwendet werden, um E-Mail senden, nicht-interaktiv,aber die klassische Umsetzung Gesprächen, um mit einer lokalen mail-transport-agent.
Es gibt einfache MTAs, die nur senden E-Mails über einen entfernten SMTP-server,
und akzeptieren nicht alle lokalen E-Mail.
Andere Lösung ist die Verwendung
heirloom-mailx
,(früher bekannt als
nail
glaube ich)die unterstützt Sprechende zu einem SMTP-server, sondern direkt über einen lokalen MTA.
Zum Beispiel, können Sie es aufrufen, wie folgt:
ich bin mir nicht sicher, ob es noch funktioniert.. aber Sie könnten wanne telnet verwenden. zumindest sollten Sie in der Lage zu schreiben, ein bashscript mit es