需要通过SMTP和自动热键发送电子邮件(gmail)。
我在Windows7上使用了下面的代码,一切正常,但当我在Windows10上使用相同的代码时,它停止了工作,并给了我下面发现的错误 在windows 7中用于我的代码:需要通过SMTP和自动热键发送电子邮件(gmail)。,gmail,autohotkey,Gmail,Autohotkey,我在Windows7上使用了下面的代码,一切正常,但当我在Windows10上使用相同的代码时,它停止了工作,并给了我下面发现的错误 在windows 7中用于我的代码: pmsg := ComObjCreate("CDO.Message") pmsg.From := """John Agius"" <something@gmail.com>" pmsg.To := "somtehting@gmail.com" pmsg.BCC := "" pmsg.CC := "" pmsg.Su
pmsg := ComObjCreate("CDO.Message")
pmsg.From := """John Agius"" <something@gmail.com>"
pmsg.To := "somtehting@gmail.com"
pmsg.BCC := ""
pmsg.CC := ""
pmsg.Subject := "Message / Note"
pmsg.TextBody :=emailtosomeone
fields := Object()
fields.smtpserver := "smtp.gmail.com" ; specify your SMTP server
fields.smtpserverport := 465 ; 25
fields.smtpusessl := True ; False
fields.sendusing := 2 ; cdoSendUsingPort
fields.smtpauthenticate := 1 ; cdoBasic
fields.sendusername := "user@gmail.com"
fields.sendpassword := "password"
fields.smtpconnectiontimeout := 60
schema := "http://schemas.microsoft.com/cdo/configuration/"
pfld := pmsg.Configuration.Fields
For field,value in fields
pfld.Item(schema . field) := value
pfld.Update()
pmsg.Send()
pmsg:=ComObjCreate(“CDO.Message”)
pmsg.From:=“John Agius”
pmsg.To:=”somtehting@gmail.com"
pmsg.BCC:=“”
pmsg.CC:“”
pmsg.主题:=“消息/注释”
pmsg.TextBody:=emailtosomeone
字段:=对象()
fields.smtpserver:=“smtp.gmail.com”;指定您的SMTP服务器
fields.smtpserverport:=465;25
fields.smtpusesl:=True;假的
fields.sendusing:=2;cdoSendUsingPort
fields.smtpauthenticate:=1;cdoBasic
fields.sendusername:=”user@gmail.com"
fields.sendpassword:=“密码”
fields.smtpconnectiontimeout:=60
架构:=”http://schemas.microsoft.com/cdo/configuration/"
pfld:=pmsg.Configuration.Fields
对于字段,字段中的值
pfld.Item(schema.field):=值
pfld.Update()
pmsg.Send()
在Windows10中,它给了我以下错误
错误:0x800CCE05
资料来源:CDO.Message.1
描述:在此消息中找不到请求的正文部分
帮助文件(空)
帮助上下文:0
特别是来自;
;布拉布拉布拉布拉布拉工作代码
------->pmsg.From:=“John Agius”
谁能帮帮我吗?我真的需要这个来完成我的工作
谢谢
约翰·阿吉乌斯(John Agius)嗯,这个错误是指一具失踪的尸体。因此,您的电子邮件中可能缺少实际的文本消息(TextBody或HtmlBody)。您的变量emailtosomeone是否已定义?
请尝试以下代码:
pmsg := ComObjCreate("CDO.Message")
pmsg.From := """AHKUser"" <...@gmail.com>"
pmsg.To := "anybody@somewhere.com"
pmsg.BCC := "" ; Blind Carbon Copy, Invisable for all, same syntax as CC
pmsg.CC := "Somebody@somewhere.com, Other-somebody@somewhere.com"
pmsg.Subject := "Message_Subject"
;You can use either Text or HTML body like
pmsg.TextBody := "Message_Body"
;OR
;pmsg.HtmlBody := "<html><head><title>Hello</title></head><body><h2>Hello</h2><p>Testing!</p></body></html>"
sAttach := "Path_Of_Attachment" ; can add multiple attachments, the delimiter is |
fields := Object()
fields.smtpserver := "smtp.gmail.com" ; specify your SMTP server
fields.smtpserverport := 465 ; 25
fields.smtpusessl := True ; False
fields.sendusing := 2 ; cdoSendUsingPort
fields.smtpauthenticate := 1 ; cdoBasic
fields.sendusername := "...@gmail.com"
fields.sendpassword := "your_password_here"
fields.smtpconnectiontimeout := 60
schema := "http://schemas.microsoft.com/cdo/configuration/"
pfld := pmsg.Configuration.Fields
For field,value in fields
pfld.Item(schema . field) := value
pfld.Update()
Loop, Parse, sAttach, |, %A_Space%%A_Tab%
pmsg.AddAttachment(A_LoopField)
pmsg.Send()
pmsg:=ComObjCreate(“CDO.Message”)
pmsg.From:=“AHKUser”
pmsg.To:=”anybody@somewhere.com"
pmsg.BCC:=“”;盲目复写,所有人都看不见,语法与CC相同
pmsg.CC:=”Somebody@somewhere.com,其他-somebody@somewhere.com"
pmsg.Subject:=“消息主题”
;您可以使用文本或类似HTML的正文
pmsg.TextBody:=“消息体”
;或
;pmsg.HtmlBody:=“你好,正在测试!”
sAttach:=“附件的路径”;可以添加多个附件,分隔符为|
字段:=对象()
fields.smtpserver:=“smtp.gmail.com”;指定您的SMTP服务器
fields.smtpserverport:=465;25
fields.smtpusesl:=True;假的
fields.sendusing:=2;cdoSendUsingPort
fields.smtpauthenticate:=1;cdoBasic
fields.sendusername:=“..@gmail.com”
fields.sendpassword:=“此处为您的密码”
fields.smtpconnectiontimeout:=60
架构:=”http://schemas.microsoft.com/cdo/configuration/"
pfld:=pmsg.Configuration.Fields
对于字段,字段中的值
pfld.Item(schema.field):=值
pfld.Update()
循环、解析、sAttach、|、%A_空格%%A_标签%
pmsg.AddAttachment(A_LoopField)
pmsg.Send()
由于某种原因,在我编辑了这段代码之后,可能会重复“谢谢”的内容,但它仍然有效。甚至我的旧代码也开始工作了。我不知道发生了什么。“如果你的问题不可复制,你可能会考虑删除你的问题。”另一方面,如果这个答案有助于解决你的问题,请接受它。毕竟,这是一个很好的代码示例。