如何使用批处理文件或脚本从一个Gmail帐户向另一个Gmail帐户发送电子邮件?

时间:2009-07-18 04:17:13

标签: email scripting gmail

我需要一个小小的Windows脚本才能向Gmail帐户发送一行电子邮件。我已经尝试了许多声称可以执行此操作的实用程序,例如BLAT,但都没有用。如果满足某些条件,脚本将在批处理文件中执行。脚本可以是Perl,Python,VBScript,Java,只要它从批处理文件执行就没关系。如果您通过Gmail,Hotmail或Yahoo电子邮件帐户向Gmail帐户发送电子邮件,请回答您是否尝试过您的解决方案。我默认使用的帐户是Gmail,因此我从Gmail帐户发送到Gmail帐户。

5 个答案:

答案 0 :(得分:10)

Blat可让您直接从批处理文件发送电子邮件:

blat.exe - -f from@example.com -to to@gmail.com -s Subject -body "Text body" ^
  -server smtp.example.com:25 -u username -pw password

但似乎Blat不支持SSL,因此要使其与Gmail兼容,您需要一个名为Stunnel的其他工具(请参阅herehere)。

无论如何,您应该能够使用Collaboration Data Objects (CDO) COM API通过GMail从VBScript发送电子邮件:

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     = "from@gmail.com"  ' or "Sender Name <from@gmail.com>"
oMsg.To       = "to@gmail.com"    ' or "Recipient Name <to@gmail.com>"
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")     = "from@gmail.com"
oConf.Fields(schema & "sendpassword")     = "sender_password"
oConf.Fields.Update

oMsg.Send

修改: 添加了缺少的sendusing参数,以便它现在可以正常工作。

有关更多CDO示例,请参阅here

答案 1 :(得分:5)

查看script上的perlmonks,其中详细说明了GMail帐户上的IMAP访问权限。该帖子涵盖了通过Perl登录GMail帐户所需的一切。

或者,您可以尝试CPAN中的Mail::Webmail::Gmail模块。从它的外观来看,该模块可以让你跳过大部分与邮件服务器连接和验证有关的复杂细节,为你留下一些简单的东西 -

my $gmail = Mail::Webmail::Gmail->new( username => 'username', password => 'password', );
$gmail->send_message( to => 'user@domain.com', subject => 'Test Message', msgbody => 'This is a test.' );

如果您需要“仅”从Gmail帐户发送电子邮件,还有Email::Send::Gmail

答案 2 :(得分:3)

#!c:/Python/python.exe -u
import libgmail
ga = libgmail.GmailAccount("username@gmail.com", "password")
ga.login()
msg=libgmail.GmailComposedMessage("friend@gmail.com", "SubjectHere", "BodyHere")
ga.sendMessage(msg)

应该在Windows上使用python运行。确保更改顶部的shebang指向python安装。除此之外,只需输入您的姓名和密码,以及您要发送的电子邮件。

答案 3 :(得分:3)

如果您只需要使用某些SMTP发送给GMail,请在SMTP模式下使用MIME::Lite Perl module - 我使用它向我的GMail帐户发送通知。

答案 4 :(得分:1)

在Linux中(我不确定你所处的环境)你可以使用mail

some_command| mail foo@gmail.com bar@gmail.com -s "subject"