我试图从使用Visual Basic,无需任何用户操作Visual Basic脚本发送电子邮件。 这个想法低于第一参考。
http://forums.mozillazine.org/viewtopic.php?f=39&t=540783
http://forums.mozillazine.org/viewtopic.php?t=203591
https://developer.mozilla.org/en-US/docs/Mozilla/Command_Line_Options#-options
该脚本的工作,但我一直无法弄清楚如何包括附件。 我知之甚少,但VB在第一参考的混合物“和CHR(34)(”我假设)看起来很怪异。 也是“电子邮件地址”和之间的差异“到”之间的第一和第三基准是令人不安的。
这是我曾尝试。
dim s
Set s = CreateObject("WScript.Shell")
s.run """thunderbird.exe""" & " -compose mailto:mdorl@wisc.edu? &subject=""send mail 3""&body=""nice body text""&attachment='file:///c:/Documents and Settings/Mike/My Documents/sendmail/vb/msg.txt'"
WScript.Sleep 1000
s.SendKeys "^{ENTER}"
WScript.Sleep 1000
此构成,且无需用户动作但没有附件发送电子邮件。 我曾尝试周围的文件名,单引号和双引号。
如果我更改文件名到一个不存在的文件,电子邮件被发送没有依附但用户需要采取行动,以实际发送消息。
编辑我的答案,因为我一直在学习一两件事,这些过去几周;)
你需要周围的撇号:和抄送:列出一个以上的接收方还需要周围的任何主体文本或附件,您要发送的撇号
如果你把一个单引号到您的VBA编辑器,它只是注释出来,这样你就可以通过人权委员会得逞的(39)
另外,作为文档建议,需要附件=“文件:/// C:/test.txt”,其包括文件:///
我已经包括来自东西我一直在下面工作的一个例子
Dim reportTB As Object
Set reportTB = VBA.CreateObject("WScript.Shell")
Dim waitOnReturn As Boolean: waitOnReturn = True
Dim windowStyle As Integer: windowStyle = 1
reportTB.Run "thunderbird.exe -compose to=bfx_" & LCase(show) & "prod@base-fx.com,subject=[" & show & "] EOD Report " _
& prjDate & ",body=" & Chr(39) & "Hi " & UCase(show) & "ers,<br><br>Today's end of day report is attached.<br>" & _
"Any questions let me know.<br><br>Edi " & Chr(39) & ",attachment=" & Chr(39) & reportPath & Chr(39), windowStyle, waitOnReturn
希望帮助:)
写合适的节目。 你不能邮寄地址发送附件。 该标准只允许一个参数(虽然大家都接受许多)。
Set emailObj = CreateObject("CDO.Message")
emailObj.From = "dc@gmail.com"
emailObj.To = "dc@gmail.com"
emailObj.Subject = "Test CDO"
emailObj.TextBody = "Test CDO"
emailObj.AddAttachment "C:/Users/User/Desktop/err.fff"
Set emailConfig = emailObj.Configuration
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = true
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "dc"
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "Password1"
emailConfig.Fields.Update
emailObj.Send
If err.number = 0 then
Msgbox "Done"
Else
Msgbox err.number & " " & err.description
err.clear
End If