zoukankan      html  css  js  c++  java
  • VBS脚本发送邮件基础教程,解决报错:与服务器的传输连接失败,代码80040213 发送邮件服务器vbscdo代码

    教程地址:https://www.runoob.com/vbscript/vbscript-tutorial.html

     
    Dim name
    Function test1()
    MsgBox "lalal"
    test1 = 1
    End Function
    name=test1()
    MsgBox name
    以上代码中可以看见  函数返回值是用函数名 = 值  的方式来返回

    代码如下


    function Send_mail(You_Account,You_Password,Send_Email,Send_Email2,Send_Topic,Send_Body,Send_Attachment)
    'code by NetPatch
    'VBS发送邮件参数说明
    'You_Account:你的邮件帐号
    'You_Password:你的邮件密码
    'Send_Email: 主要邮件地址
    'Send_Email2: 备用邮件地址
    'Send_Topic: 邮件主题
    'Send_Body: 邮件内容
    'Send_Attachment:邮件附件

    You_ID=Split(You_Account, "@", -1, vbTextCompare) '字符串分隔
    '帐号和服务器分离
    MS_Space = "http://schemas.microsoft.com/cdo/configuration/"
    '这个是必须要的,不过可以放心的事,不会通过微软发送邮件
    Set Email = CreateObject("CDO.Message")
    Email.From = You_Account
    '这个一定要和发送邮件的帐号一样
    Email.To = Send_Email '要发给谁

    If Send_Email2 <> "" Then
    Email.CC = Send_Email2 '备用发给谁
    End If

    Email.Subject = Send_Topic '邮件主题
    Email.Textbody = Send_Body '邮件内容

    If Send_Attachment <> "" Then
    Email.AddAttachment Send_Attachment '邮件附件
    End If

    With Email.Configuration.Fields
    .Item(MS_Space&"sendusing") = 2 '发信端口
    .Item(MS_Space&"smtpserver") = "smtp."&You_ID(1) 'SMTP服务器地址
    .Item(MS_Space&"smtpserverport") = 25 'SMTP服务器端口
    .Item(MS_Space&"smtpauthenticate") = 1 '服务器认证方式
    .Item(MS_Space&"sendusername") = You_Account '你的邮件帐号
    .Item(MS_Space&"sendpassword") = You_Password '你的邮件密码
    .Item(schema & "smtpusessl") = True '是否使用SSL
    .Item(schema & "smtpconnectiontimeout") = 20
    .Update
    End With
    Email.Send
    '发送邮件
    Set Email=Nothing
    '关闭组件

    Send_Mail=True
    '如果没有任何错误信息,则表示发送成功,否则发送失败
    If Err Then
    Err.Clear
    Send_Mail=False
    End If
    End Function

    '以下是利用上面的函数发送带附件的邮件例子
    If Send_Mail("account@163.com","password.","test@qq.com","","日志文件","邮件内容","d:log.txt")=True Then
    MsgBox "Success"
    Else
    MsgBox "fail"
    End If


    错误列举

    1. 与服务器的传输链接失败

     解决方案,是我原来的代码开启了SSL链接 而网易的SSL的链接是25端口而非465端口,将端口改一下 就可以用了,

    测试发送邮件的账号尽量别使用qq邮箱 有问题 

    因为qq邮箱有一个授权码的问题,导致不能登账号

     

    以下是用qq邮箱成功发送的邮件代码


    function Send_mail(You_Account,You_Password,Send_Email,Send_Email2,Send_Topic,Send_Body,Send_Attachment)
    'code by NetPatch
    'VBS发送邮件参数说明
    'You_Account:你的邮件帐号
    'You_Password:你的邮件密码
    'Send_Email: 主要邮件地址
    'Send_Email2: 备用邮件地址
    'Send_Topic: 邮件主题
    'Send_Body: 邮件内容
    'Send_Attachment:邮件附件

    You_ID=Split(You_Account, "@", -1, vbTextCompare) '字符串分隔
    '帐号和服务器分离
    MS_Space = "http://schemas.microsoft.com/cdo/configuration/"
    '这个是必须要的,不过可以放心的事,不会通过微软发送邮件
    Set Email = CreateObject("CDO.Message")
    Email.From = You_Account
    '这个一定要和发送邮件的帐号一样
    Email.To = Send_Email '要发给谁

    If Send_Email2 <> "" Then
    Email.CC = Send_Email2 '备用发给谁
    End If

    Email.Subject = Send_Topic '邮件主题
    Email.Textbody = Send_Body '邮件内容

    If Send_Attachment <> "" Then
    Email.AddAttachment Send_Attachment '邮件附件
    End If

    With Email.Configuration.Fields
    .Item(MS_Space&"sendusing") = 2 '发信端口
    .Item(MS_Space&"smtpserver") = "smtp."&You_ID(1) 'SMTP服务器地址
    .Item(MS_Space&"smtpserverport") = 25 'SMTP服务器端口
    .Item(MS_Space&"smtpauthenticate") = 1 '服务器认证方式
    .Item(MS_Space&"sendusername") = You_Account '你的邮件帐号
    .Item(MS_Space&"sendpassword") = You_Password '你的邮件密码
    '.Item(schema & "smtpusessl") = True '是否使用SSL
    .Item(schema & "smtpconnectiontimeout") = 20
    .Update
    End With
    Email.Send
    '发送邮件
    Set Email=Nothing
    '关闭组件

    Send_Mail=True
    '如果没有任何错误信息,则表示发送成功,否则发送失败
    If Err Then
    Err.Clear
    Send_Mail=False
    End If
    End Function

    '以下是利用上面的函数发送带附件的邮件例子
    If Send_Mail("account@163.com","授权码","test@qq.com","","日志文件","邮件内容","d:log.txt")=True Then

    '一定要注意 这边的密码不是qq邮箱账号密码,而是qq生成的授权码
    MsgBox "Success"
    Else
    MsgBox "fail"
    End If


     参考链接:qq, 如何设置POP3/SMTP的SSL加密方式?

  • 相关阅读:
    HackerRank savita-and-friends
    HackerRank training-the-army
    51Nod 1378 夹克老爷的愤怒
    51Nod 1380 夹克老爷的逢三抽一
    Codeforces 566 D. Restructuring Company
    BZOJ 2822: [AHOI2012]树屋阶梯
    Codeforces Gym 101138 G. LCM-er
    51Nod 1250 排列与交换
    BZOJ 1511: [POI2006]OKR-Periods of Words
    BZOJ 1355: [Baltic2009]Radio Transmission
  • 原文地址:https://www.cnblogs.com/lonelyshy/p/12707551.html
Copyright © 2011-2022 走看看