2016-05-30 11 views
0

以下のコードを使用してAHKを使用して電子メールを送信します。件名とメッセージ本文にリテラル文字列を使用すると動作します。しかし、%variable%を使用しようとすると、受け取った電子メールには空白の件名/メッセージ本文があります。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 

第H、