2016-07-23 1 views
0

vbscript를 작성하여 첨부 파일이있는 이메일을 다른 이메일로 보내려고합니다. 그러나 창 cmd에서 스크립트를 실행하려고하면 "서버가 보낸 사람을 거부합니다. 서버 응답이 530 5.7.0이었습니다 STARTLS를 발행해야합니다"vbscript에서 이메일을 전송할 때 STARTTLS 오류가 발생해야합니다.

포트를 465로 변경하거나 Google SMTP 포트/암호화의 경우 587

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 

당신은 필드 누락 : 그러나 그것은 또한

을 작동하지 않습니다 아래 내 VBScript를합니다.

사용중인 계정에서받은 편지함을 확인하십시오. 새로운 프로그램의 가입으로 인해 Google에서 귀하를 차단하고 있습니다. google에서 이메일 링크를 클릭하십시오.

사용자/암호가 비어있는 전체 스크립트입니다. 계정의 회선이 올바른지 확인하십시오. 당신에게 명령 프롬프트에서

실행이 내가 누락 된 부분을 삽입 한 후 나는의 메시지를 받게

cscript //nologo script.vbs 

에게 확인 20 번 클릭 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

답변 편집 . Google의 이메일 링크를 클릭하십시오. –

관련 문제