Ich brauche ein kleines Windows-Skript, um eine 1-Zeilen-E-Mail an Google Mail-Konten zu senden. Ich habe viele Dienstprogramme ausprobiert, die behaupten, dies zu tun, wie BLAT, aber keine funktioniert. Das Skript wird innerhalb einer Batchdatei ausgeführt, wenn bestimmte Bedingungen erfüllt sind. Skript kann in Perl, Python, VBScript, Java sein, es spielt keine Rolle, solange es aus einer Batch-Datei ausgeführt wird. Bitte antworten Sie nur, wenn Sie Ihre Lösung versucht haben, indem Sie eine E-Mail von einem Gmail-, Hotmail- oder Yahoo-E-Mail-Konto an ein Google Mail-Konto senden. Das Konto, das ich standardmäßig verwende, ist Google Mail. Daher sende ich von einem Google Mail-Konto an ein Google Mail-Konto.Wie kann ich eine E-Mail von einem Google Mail-Konto über eine Batchdatei oder ein Skript an ein anderes Google Mail-Konto senden?
Antwort
Blat können Sie E-Mails direkt aus Batch-Dateien senden:
blat.exe - -f [email protected] -to [email protected] -s Subject -body "Text body"^
-server smtp.example.com:25 -u username -pw password
Aber es scheint, dass Blat SSL nicht unterstützt, so machen es mit dem Google Mail Sie ein zusätzliches Werkzeug Stunnel genannt müssen arbeiten (siehe here und here).
Auf jeden Fall sollten Sie eine E-Mail über GMail von VBScript mit der Collaboration Data Objects (CDO) COM API der Lage sein, senden:
Const schema = "http://schemas.microsoft.com/cdo/configuration/"
Const cdoBasic = 1
Const cdoSendUsingPort = 2
Dim oMsg, oConf
' E-mail properties
Set oMsg = CreateObject("CDO.Message")
oMsg.From = "[email protected]" ' or "Sender Name <[email protected]>"
oMsg.To = "[email protected]" ' or "Recipient Name <[email protected]>"
oMsg.Subject = "Subject"
oMsg.TextBody = "Text body"
' GMail SMTP server configuration and authentication info
Set oConf = oMsg.Configuration
oConf.Fields(schema & "smtpserver") = "smtp.gmail.com"
oConf.Fields(schema & "smtpserverport") = 465
oConf.Fields(schema & "sendusing") = cdoSendUsingPort
oConf.Fields(schema & "smtpauthenticate") = cdoBasic
oConf.Fields(schema & "smtpusessl") = True
oConf.Fields(schema & "sendusername") = "[email protected]"
oConf.Fields(schema & "sendpassword") = "sender_password"
oConf.Fields.Update
oMsg.Send
Edit: Added die fehlende sendusing
Parameter so sollte es jetzt funktionieren.
Weitere CDO-Beispiele finden Sie unter here. können
Ich versuchte BLAT- nicht funktioniert und sendmail und viele andere. Die meisten benutzen anscheinend alten Code - TLS. Übrigens glaube ich, dass Gmail nicht auf 25 Port funktioniert. Sie verwenden 465. – Antone
Es würde helfen, wenn Sie Ihre Frage erweitert und uns gesagt, welche Tools und/oder Code Sie versuchten und wie genau sie "nicht funktioniert" (welche Fehlermeldungen Sie erhalten haben etc), bieten mehr Informationen über Ihre Umgebung und so auf. Möglicherweise hängt das Problem mit der Konfiguration Ihrer Umgebung/des STMP-Servers zusammen und kann durch Hinzufügen weiterer Einstellungen zum Code gelöst werden. Aber ohne die Details zu kennen, ist es schwer, etwas anderes zu finden. – Helen
@Antone: Scheint, dass Blat und Sendmail ein zusätzliches Tool namens * Stunnel * benötigen, um mit Google Mail zu arbeiten (siehe die aktualisierte Antwort). Ich habe auch das VBScript-Beispiel geändert, um den Gmail-SMTP-Server zu verwenden. Funktioniert es jetzt für Sie? – Helen
#!c:/Python/python.exe -u
import libgmail
ga = libgmail.GmailAccount("[email protected]", "password")
ga.login()
msg=libgmail.GmailComposedMessage("[email protected]", "SubjectHere", "BodyHere")
ga.sendMessage(msg)
Das sollte unter Windows mit Python laufen. Stelle sicher, dass du den Shebang an der Spitze änderst, um auf deine Python-Installation zu zeigen. Anderenfalls geben Sie einfach Ihren Namen und Ihr Passwort sowie die E-Mail-Adresse ein, die Sie senden möchten.
Dies sendet eine E-Mail * von * einem Google Mail-Konto an eine andere Google Mail oder eine andere Adresse ... –
... und ich denke, der Punkt dieses Kommentars wäre, hat das OP ein Google Mail-Konto zum Senden von? Wenn nicht (oder wenn er es nicht verwenden möchte), wäre eine SMTP- oder Sendmail-API-Lösung erforderlich. –
Die Frage hat nicht gesagt, wo die E-Mail gesendet werden musste ... –
Werfen Sie einen Blick auf diese script auf perlmonks, die IMAP-Zugriff auf einem GMail-Konto detailliert. Die Post deckt alles ab, was Sie benötigen, um sich über Perl in einen GMail-Account einzuloggen.
Alternativ können Sie das Mail::Webmail::Gmail Modul in CPAN versuchen. Von den Blicken von ihm das Modul können Sie die meisten der komplizierten Details überspringen über Verbindungs- und Authentifizieren mit dem Mail-Server, den Sie mit etwas so einfaches wie verlassen -
my $gmail = Mail::Webmail::Gmail->new(username => 'username', password => 'password',);
$gmail->send_message(to => '[email protected]', subject => 'Test Message', msgbody => 'This is a test.');
Es gibt auch Email::Send::Gmail den Fall, dass Sie ‚nur‘ senden E-Mails von einem Google Mail-Konto.
Danke-, wenn der Python-Code nicht funktioniert, aber ich denke, ich werde dies als nächstes überprüfen. – Antone
Vielen Dank muteW für die Hilfe, ich werde immer noch Ihre Ideen bekommen und sicherlich planen in Perl oder Python zu schauen, um das VBScript zu ersetzen, das ich jetzt für das Modul der Anwendung habe. Danke nochmal! Antone – Antone
In Linux (ich bin nicht sicher, in welcher Umgebung Sie sind auf) Sie mail
: einige SMTP verwenden müssen, verwenden Sie MIME::Lite Perl module im SMTP-Modus
some_command| mail [email protected] [email protected] -s "subject"
Ich benutze Windows. – Antone
Wenn Sie nur an GMail senden - I Verwenden Sie es, um Benachrichtigungen an mein Google Mail-Konto zu senden.
Danke, ich werde mir das ansehen. – Antone
Nun - scheint jeder hat eine Lösung, ohne es auszuprobieren.Ich hatte gehofft, dass Python den Trick machen würde, aber es braucht auch ein mechanisiertes Modul und ich kann es nicht finden. Ich denke, ich werde Perl als nächstes herunterladen und Ihre Lösung ausprobieren. Ich bin erstaunt über all die Erfahrung hier und es ist jetzt 6 Stunden lang versucht, eine Lösung für ein einfaches Skript zu finden, das E-Mails aus einer Batch-Datei sendet. Beeindruckend! Danke! – Antone
Das schließt jeder kam es schien ein 24-jähriges Mädchen aus Russland war. Sie war sehr hilfsbereit, aber ich glaube, ich habe Fehler in meinem Skript, dann ist sie verschwunden. Also hier geh ich mit Perl! – Antone
- 1. Kann ich über eine Google Application Engine eine Nachricht an einen Google Hangouts-Nutzer senden?
- 2. Wie kann ich eine Zeichenkette über NFC an ein anderes Gerät senden?
- 3. Senden von Variablen in ein anderes Skript
- 4. Wie kann ich ein Google per E-Mail über Google Apps Scripts senden?
- 5. Wie kann ich ein Gradle-Skript in ein anderes importieren?
- 6. Wie kann ich Push von einem lokalen Computer an eine Google Cloud Platform-Instanz senden?
- 7. Eine eindeutige ID an Google Checkout senden
- 8. Mehrere Bereiche von einem Google-Blatt in ein anderes importieren
- 9. Wie füge ich ein Skript in Google Mail-Status ein?
- 10. Wie kann ich eine Zeile mit Excel-Daten bedingt von einem Blatt an ein anderes anhängen?
- 11. Wie verwende ich ein anwendungsspezifisches Google-Passwort im Skript?
- 12. Aktionsschaltfläche wird beim Senden an ein anderes Google Mail-Konto nicht angezeigt
- 13. Senden von E - Mail an ein Google Mail - Konto über Codeigniter schlägt fehl
- 14. wie ein 2D-Array in Google Apps-Skript/Google-Tabelle
- 15. Wie bette ich Google Drive-Bilder in eine Webseite ein?
- 16. Nachricht an ein Python-Skript senden
- 17. Wie kann ich neuen R-Nutzern das Senden von Informationen an ein Google-Formular gestatten?
- 18. Wie kann ich eine bedingte Formatierung von einem Dokument in ein anderes kopieren?
- 19. Senden von Informationen Google Checkout über eine API?
- 20. Senden von E-Mails an ein Google Mail-Konto über die Befehlszeile nicht möglich
- 21. Wie kann ich eine Variable von einem Controller an ein Verhalten senden? cakePHP
- 22. Wie kontrolliere ich ein Python-Skript über eine Webschnittstelle?
- 23. Nachricht, die von einem Inhaltsskript an ein anderes übergibt
- 24. Senden eine Zeichenfolge an ein Programm
- 25. Wie kann ich eine Ausgabedatei von einem AWK-Skript an ein Argument in cat übergeben?
- 26. Wie kratze ich eine _private_ google Gruppe?
- 27. Senden von AdWords-Conversion-Daten über GTM an ein anderes Konto?
- 28. Wie übergebe ich eine Variable an ein mysql-Skript?
- 29. Wie kann ich POST- und GET-Daten über die Befehlszeile an ein Perl-CGI-Skript senden?
- 30. Senden von E-Mail von E-Mail sammeln über Google Formulare mit Google-Skript
Sie müssen sicherstellen, dass es einen Titel und etwas im Körper gibt. Ansonsten werden die meisten E-Mail-Anbieter es einfach ignorieren. –
Bitte lesen Sie die Frage erneut, ich brauche ein vollständiges Skript, um in die Batch-Datei zu stecken, nicht kleine Bits ohne Richtung. Danke, Antone – Antone
Da es nicht einfach ist, ein Problem nicht vollständig in einem Absatz des Textes, und dass es ebenso schwierig zu beurteilen, einen Fragesteller Maß an Fachwissen beschrieben zu lösen, finde ich, dass Brad Gilberts Kommentar perfekt relevant war und möglicherweise hilfreich . – Inshallah