web-dev-qa-db-de.com

Senden Sie E-Mails über die CMD-Konsole

Hallo, ich möchte E-Mails über die Microsoft-Konsole senden. Ich habe viele Wege versucht, aber es gelang mir nicht. 

ich habe diesen Artikel ausprobiert http://jpsoft.com/help/index.htm?sendmail.htm

sendmail "[email protected] bcc:[email protected]" Test Hello!

Der Fehler ist: 

'sendmail' is not recognized as an internal or external command operable program or batch file

und 

diesen Artikel: http://www.brighthub.com/office/collaboration/articles/21840.aspx#imgn_1

c:\>"c:\program files\Microsoft office\office12\Outlook.exe" /c ipm.note /m [email protected] /a "c:\logs\logfile.txt"

Der Fehler ist: 

the process can not access the file because it is being used by another proccess

aber es hat nicht funktioniert. Ich weiß nicht, wo ist das Problem oder was ist das Problem.

danke für deinen Rat.

9
user1479273

Szenario: Ihre Domain: mydomain.com Domäne, die Sie senden möchten: theirdomain.com

1. Bestimmen Sie den Mailserver, an den Sie senden. Öffnen Sie eine CMD-Eingabeaufforderung Art 

NSLOOKUP 
 set q=mx 
 theirdomain.com

Antwort: 

Non-authoritative answer: 
theirdomain.com MX preference = 50, mail exchanger = mail.theirdomain.com 
Nslookup_big

EDIT Geben Sie unbedingt exit ein, um NSLOOKUP zu beenden.

2. Verbindung zu ihrem Mailserver herstellen

SMTP kommuniziert über Port 25. Wir werden jetzt versuchen, TELNET zu verwenden, um eine Verbindung zu ihrem Mail-Server herzustellen. "mail.theirdomain.com"

Öffnen Sie eine CMD-Eingabeaufforderung 

TELNET MAIL.THEIRDOMAIN.COM 25

Sie sollten so etwas als Antwort sehen: 

220 mx.google.com ESMTP 6si6253627yxg.6

Seien Sie sich bewusst, dass verschiedene Server mit unterschiedlichen Begrüßungen aufwarten werden, aber Sie sollten ETWAS erhalten. Wenn an dieser Stelle nichts erscheint, gibt es zwei mögliche Probleme. Port 25 wird an Ihrer Firewall blockiert oder der Server antwortet nicht. Versuchen Sie es mit einer anderen Domain. Wenn dies funktioniert, sind Sie es nicht.

3. Senden Sie eine E-Mail

Verwenden Sie nun einfache SMTP-Befehle, um eine Test-E-Mail zu senden. Dies ist sehr wichtig, Sie können die Rücktaste NICHT verwenden, sie funktioniert zwar auf dem Bildschirm, wird jedoch nicht richtig interpretiert. Sie müssen diese Befehle perfekt eingeben.

ehlo mydomain.com 
mail from:<[email protected]> 
rcpt to:<[email protected]> 
data 
This is a test, please do not respond
. 
quit

Was bedeutet das alles? EHLO - Einführung in den Mail-Server HELO kann auch verwendet werden, aber EHLO weist den Server an, den erweiterten Befehlssatz zu verwenden (nicht dass wir das verwenden).

MAIL FROM - wer sendet die E-Mail? Vergewissern Sie sich, dass diese Angabe die größere/weniger als eckige Klammer ist, da dies für viele E-Mail-Server erforderlich ist (Postini).

RCPT TO - an wen Sie es senden. Wieder müssen Sie die Klammern verwenden. In Schritt 4 erfahren Sie, wie Sie die Weiterleitung von E-Mails testen.

DATA - teilt dem SMTP-Server mit, dass der Inhalt Ihrer E-Mail folgt. Achten Sie darauf, am Ende "Enter" zu drücken.

. - allein der Zeitraum in der Leitung zeigt dem SMTP-Server an, dass Sie mit dem Datenteil fertig sind, und es ist klar, dass Sie die E-Mail senden.

quit - Beendet die TELNET-Sitzung.

4. SMTP-Relay testen Das Testen des SMTP-Relays ist sehr einfach und erfordert nur eine kleine Änderung der obigen Befehle. Siehe unten:

ehlo mydomain.com 
mail from:<[email protected]> 
rcpt to:<[email protected]> 
data 
This is a test, please do not respond 
. 
quit

Sieh den Unterschied? In der Zeile RCPT TO senden wir an eine Domäne, die nicht vom SMTP-Server kontrolliert wird, an den wir senden. Sie erhalten sofort einen Fehler, wenn das SMTP-Relay ausgeschaltet ist. Wenn Sie fortfahren und eine E-Mail senden können, wird der Relay von diesem Server zugelassen.

21
Mahmut EFE

Wenn Sie nicht direkt über telnet mit einem SMTP-Server kommunizieren möchten, verwenden Sie Befehlszeilen-Mailer wie blat :

blat -to [email protected] -f [email protected] -s "mail subject" ^
  -server smtp.example.net -body "message text"

oder bmail :

bmail -s smtp.example.net -t [email protected] -f [email protected] -h ^
  -a "mail subject" -b "message text"

Sie können auch Ihren eigenen Mailer in VBScript oder PowerShell schreiben.

4
Ansgar Wiechers

Unter Linux können Sie "swaks" verwenden, das als offizielle Pakete für viele Distributionen verfügbar ist, einschließlich Debian/Ubuntu und Redhat/CentOS für EPEL:

swaks -f [email protected] -t [email protected] \
    --server mail.example.com
1
ColinM

Ein paar weitere Befehlszeilen-Mailer-Programme:

Beide unterstützen auch SSL.

0
Roland Pihlakas