Foxtable(狐表)用户栏目专家坐堂 → 这个MailSender 很V5,可发送HTML,希望老大集成它!


  共有10886人关注过本帖树形打印复制链接

主题:这个MailSender 很V5,可发送HTML,希望老大集成它!

帅哥哟,离线,有人找我吗?
don
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
这个MailSender 很V5,可发送HTML,希望老大集成它!  发帖心情 Post By:2013/4/12 18:23:00 [显示全部帖子]

在网上找到一个VB.NET发邮件的代码 ,经测试好用:可以发送HTML格式,希望老大集成它!

         '创建发件连接,根据你的发送邮箱的SMTP设置填充
Dim smtp As New System.Net.Mail.SmtpClient("smtp.163.com", 25)

'发件邮箱身份验证,参数分别为 发件邮箱登录名和密码
smtp.Credentials = New System.Net.NetworkCredential("用户名", "密码")

'创建邮件
Dim mail As New System.Net.Mail.MailMessage()

'邮件主题
mail.Subject = "邮件主题"

'主题编码
mail.SubjectEncoding = System.Text.Encoding.GetEncoding("GB2312")

'邮件正文件编码
mail.BodyEncoding = System.Text.Encoding.GetEncoding("GB2312")

'发件人邮箱
mail.From = New System.Net.Mail.MailAddress("example@163.com")

'邮件优先级
mail.Priority = System.Net.Mail.MailPriority.Normal

'HTML格式的邮件,为false则发送纯文本邮箱
mail.IsBodyHtml = True

'邮件内容
mail.Body = "邮件正文内容"

'添加收件人,如果有多个,可以多次添加
mail.To.Add("收件人地址")

'定义附件,参数为附件文件名,包含路径,推荐使用绝对路径
'如果不需要附件,下面三行可以不要
Dim a As New System.Net.Mail.Attachment("附件文件路径")

'附件文件名,用于收件人收到附件时显示的名称
a.Name = "附件文件名"

'加入附件,可以多次添加
mail.Attachments.Add(a)

'发送邮件
Try

smtp.Send(mail)
MessageBox.Show("发送成功")

Catch

MessageBox.Show("发送失败")

Finally

mail.Dispose()
End Try
[此贴子已经被作者于2013-4-13 21:17:10编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
don
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2013/4/12 18:50:00 [显示全部帖子]

以下是引用狐狸爸爸在2013-4-12 18:41:00的发言:
收到,先收藏,有空研究一下。
....
'俺测试成功!这是HTML格式:
Dim HTM3 As String = "<html><body><a href=""http://www.w3school.com.cn"">这是一个链接</a><h1>"
HTM3+ = "This Is heading 1</h1><p>这是我的第一个网页文件</p></body></html>"
m.IsBodyHtml = True
m.Body =HTM3
...



 回到顶部
帅哥哟,离线,有人找我吗?
don
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2013/4/13 12:02:00 [显示全部帖子]

以下是引用jianjingmaoyi在2013-4-12 20:04:00的发言:
don 老大 做个例子好收藏 图片点击可在新窗口打开查看
这个代码及标注很明白了,直接套用就行.
另请教老大:上面的代码如何才能实现 '异步发送'呢?


 回到顶部
帅哥哟,离线,有人找我吗?
don
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2013/4/13 13:57:00 [显示全部帖子]

以下是引用狐狸爸爸在2013-4-13 13:20:00的发言:
我查了一下文档,这个类有个SendAsync方法,用于异步发送。
 是有SendAsync方法,但套用1楼代码不行:
SendAsync代替Send报错:
smtp.SendAsync(mail)       '报错,好似还应有个象征参数 
另:2013测试程式不上传ZIP了?

[此贴子已经被作者于2013-4-13 13:59:05编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
don
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2013/4/13 14:08:00 [显示全部帖子]

SendAsync 和Send都是方法

 回到顶部
帅哥哟,离线,有人找我吗?
don
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2013/4/13 15:19:00 [显示全部帖子]


smtp.SendAsync(mail,"Test") 试过了,也 MessageBox.Show("发送成功"),但只见雷鸣,不见下雨啊=======目的地收不到邮件,
smtp.Send(mail) 收到邮件是1秒的事

 回到顶部
帅哥哟,离线,有人找我吗?
don
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2013/4/13 15:53:00 [显示全部帖子]

多谢唐兄,俺试试!

 回到顶部
帅哥哟,离线,有人找我吗?
don
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2013/4/13 16:03:00 [显示全部帖子]

OK!测试通过,再次多谢老唐!

 回到顶部