标题: [技术讨论] [分享]用VBS发送带附件的邮件 [打印本页]
作者: zqz0012005 时间: 2008-9-29 15:09 标题: [分享]用VBS发送带附件的邮件
from lcx's blog- 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 'cdobasec
- .Item(MS_Space&"sendusername") = You_ID(0) '你的邮件帐号
- .Item(MS_Space&"sendpassword") = You_Password '你的邮件密码
- .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("test@163.com","test","test2@163.com","","邮件主题","邮件内容","d:\test.exe")=True Then
- Wscript.Echo "发送成功"
- Else
- Wscript.Echo "发送失败"
- End If
复制代码
作者: linmiaojing 时间: 2010-4-5 11:01
看不懂!不知道如何应用!
作者: BillGates 时间: 2011-3-30 12:00
发送成功了吗?
作者: 523066680 时间: 2011-11-13 23:04
代码在复制到论坛的时候可能有些字符被转化了 比如引号变成 "e;
调整了一下- 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 'cdobasec
- .Item(MS_Space & "sendusername") = You_ID(0) '你的邮件帐号
- .Item(MS_Space & "sendpassword") = You_Password '你的邮件密码
- .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("test@163.com","test","test2@163.com","","邮件主题","邮件内容","d:\test.exe")=True Then
- Wscript.Echo "发送成功"
- Else
- Wscript.Echo "发送失败"
- End If
复制代码
作者: cindyscm 时间: 2012-3-29 16:31
本帖最后由 cindyscm 于 2012-3-30 09:07 编辑
补充一下:
5楼更新后的这个脚本我测试过是可以用的
非常感谢楼主和5楼同学!
作者: shh200438 时间: 2014-6-29 07:21
感谢一楼和5楼的同学, 收下了.
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |