2016-05-30 8 views
0

Я использую ниже код для отправки электронной почты с помощью AHK. Он работает, когда я использую литеральные строки в теле темы и сообщения. Но когда я пытаюсь использовать% variable%, получаемый полученный email имеет пустой объект/текст сообщения.AHK: Отправка электронной почты Проблема

Order := 
Order = %Order% `n FAX MESSAGE 
Order = %Order% `n 
Order = %Order% `n Sent: %DateString% %TimeString% 

pmsg   := ComObjCreate("CDO.Message") 
pmsg.From  := """Lens Shapers"" <[email protected]******s.com>" 
pmsg.To   := "k*******[email protected]" 
pmsg.BCC  := "" 
pmsg.CC   := "" 
pmsg.Subject := "Lenses are Ready" **;THIS SUBJECT IS TRANSMITTED GOOD** 
pmsg.TextBody := %Order% **;THIS MESSAGE BODY IS BLANK WHEN EMAIL IS RECEIVED** 
sAttach   := "" 

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 := "k*****[email protected]******s.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() 

Loop, Parse, sAttach, |, %A_Space%%A_Tab% 
    pmsg.AddAttachment(A_LoopField) 
pmsg.Send() 

ответ

1

Он должен работать, но когда вы используете переменную в выражении, вы не используете % «с и при использовании„:=“, то есть назначение выражения. Поэтому попробуйте:

pmsg.TextBody := Order 

Как это должно работать. Если необходимо также текстовые элементы, необходимо использовать кавычки литералов и точка конкатенацию:

pmsg.TextBody := "Order: " . Order . "`n`n" ; also follows with 2 new lines 

НТН,

Смежные вопросы