2016-07-23 153 views
0

我嘗試編寫一個vbscript,將帶有一些附件的電子郵件發送到另一封電子郵件。但是當我嘗試在窗口cmd中執行腳本時,它顯示錯誤消息「服務器拒絕發件人。服務器響應爲530 5.7.0。必須發出STARTLS」必須爲vbscript發送電子郵件時發出STARTTLS錯誤

我嘗試將端口更改爲465或587爲Google SMTP端口/加密。但它也沒有工作

下面是我的VBScript:

Set email = CreateObject("CDO.Message") 
email.Subject = "Test Email" 
email.From = "[email protected]" 
email.To = "[email protected]" 
email.TextBody = "Message Text." 
email.AddAttachment "C:\Users\fuckYou\Desktop\Handover\v.txt" 
email.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 
email.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com" 
email.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 
email.Fields("http://schemas.microsoft.com/cdo/configuration/smtpusessl")  = true 
email.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "username" 
email.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password" 
email.Configuration.Fields.Update 
email.Send 
set email = Nothing 

回答

0
emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 

你缺少一個字段。

在您使用的帳戶上檢查您的收件箱。 Google因新程序的簽名而阻止您。 點擊鏈接電子郵件從谷歌

這是我的完整腳本,用戶名/密碼爲空白。請確保您的帳戶符合要求。

運行此在命令提示符下,你不必點擊ok 20倍,

cscript //nologo script.vbs 

Script.vbs

On Error Resume next 
Set emailObj  = CreateObject("CDO.Message") 
emailObj.From  = "[email protected]" 

emailObj.To  = "[email protected]" 

emailObj.Subject = "Test CDO" 
emailObj.TextBody = "Test CDO" 

Set emailConfig = emailObj.Configuration 

For each f in emailConfig.Fields 
    wscript.echo f.name & " " & f 
Next 

msgbox emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") 


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") = "MyPassword" 
emailConfig.Fields.Update 

emailObj.Send 

wscript.echo err.description 

For each f in emailConfig.Fields 
    wscript.echo f.name & " " & f 
Next 



If err.number = 0 then Msgbox "Done" 
+0

我得到一個消息後,我插入缺少的部分,在錯誤消息顯示我傳輸失敗連接到服務器 –

+0

當我在我的窗口cmd中執行此命令時,它顯示了第18行有問題,它是email.send語法,此測試腳本正在我的本地PC中運行 –

+0

編輯answer 。點擊谷歌電子郵件中的鏈接。 – 2016-07-24 02:47:09

相關問題