2013-09-06 7 views
7

Hallo, ich möchte per Microsoft CMD-Konsole Mail senden. Ich habe es auf viele Arten versucht, aber es ist mir nicht gelungen.Senden Sie Mail über CMD-Konsole

ich diesen Artikel versucht 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

dieser 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 das Problem ist oder was das Problem ist.

danke für Ihren Rat.

Antwort

16

Szenario: Ihre Domain: mydomain.com Domain Sie möchten senden an: theirdomain.com

1. den Mail-Server fest, an die Sie versenden. Öffnen Sie ein CMD-Eingabeaufforderung Typ

NSLOOKUP 
set q=mx 
theirdomain.com 

Antwort:

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

2. Verbinden Sie ihre Mail-Server

SMTP über den Port kommuniziert 25. Wir werden nun versuchen, Verwenden Sie TELNET, um eine Verbindung zu ihrem Mail-Server "mail.theirdomain.com"

herzustellen

Öffnen Sie ein CMD-Eingabeaufforderung

TELNET MAIL.THEIRDOMAIN.COM 25 

Sie sollten so etwas wie dies als eine Antwort sehen:

220 mx.google.com ESMTP 6si6253627yxg.6 

Beachten Sie, dass verschiedene Server mit verschiedenen Grüße kommen, aber Sie sollten etwas bekommen. Wenn zu diesem Zeitpunkt nichts angezeigt wird, gibt es 2 mögliche Probleme. Port 25 wird an Ihrer Firewall blockiert oder der Server antwortet nicht. Versuchen Sie eine andere Domain, wenn das funktioniert, dann sind Sie es nicht.

3. E-Mail senden

Verwenden Sie nun einfach SMTP-Befehle einen Test E-Mail zu senden. Das ist sehr wichtig, Sie können NICHT die Rücktaste verwenden, sie wird auf dem Bildschirm funktionieren, aber nicht richtig interpretiert werden. 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 

Also, was bedeutet das alles? EHLO - stellen Sie sich dem Mail-Server vor HELO kann auch verwendet werden, aber EHLO teilt dem Server mit, den erweiterten Befehlssatz zu verwenden (nicht, dass wir ihn verwenden).

MAIL VON - Wer sendet die E-Mail. Stellen Sie sicher, dass dies die Klammern größer/kleiner als Klammern sind, da viele E-Mail-Server dies erfordern (Postini).

RCPT TO - an wen Sie es senden. Auch hier müssen Sie die Klammern verwenden. Siehe Schritt 4 zum Testen der Weiterleitung von E-Mails!

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

. - Der Zeitraum allein auf der Leitung teilt dem SMTP-Server mit, dass Sie alle mit dem Datenteil fertig sind, und es ist klar, dass Sie die E-Mail senden müssen.

quit - beendet die TELNET-Sitzung.

4. Test SMTP-Relais Testen SMTP-Relais ist sehr einfach, und erfordert nur eine kleine Änderung der oben genannten Befehle. Siehe unten:

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

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

+0

danke mann. Es ist ein guter Artikel .. – user1479273

4

Es sei denn, Sie wollen über telnet an einen SMTP-Server direkt sprechen Sie Commandline-Mailer wie blat verwenden würde:

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 Ihre eigenen Mailer schreiben in VBScript oder PowerShell.

+0

BLAT ist meiner Erfahrung nach leistungsfähiger, aber es ist schwierig, auf allen Windows-Versionen zu laufen. BMAIL funktioniert einfach. – Marc

1

Von Linux können Sie ‚swaks‘ benutzen, die als offizielle Pakete auf vielen Distributionen einschließlich Debian/Ubuntu und Red Hat/CentOS auf EPEL verfügbar:

swaks -f [email protected] -t [email protected] \ 
    --server mail.example.com 
+0

Wie hilft Linux ihm, es von Windows zu senden? –

+0

@access_granted WSL: Windows-Subsystem für Linux – ColinM