.net邮件群发可以群发十几万的那种,应该怎么搞
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.net邮件群发可以群发十几万的那种,应该怎么搞相关的知识,希望对你有一定的参考价值。
我有个会员数据库,我要把每个会员的邮箱读出来,然后群发邮件
直接用软件的话,可以吗?
用.net又应该怎么样呢
“信鸽网页邮件群发专家(企业版)V3.15”
界面美观,支持发送网页(当就可以做很多互动的效果了,图片发送等),可以每秒发一封,成功率97%以上。
详情进入:
上百度---->搜索“凌风网络论谈”第一个就是---->点击进入--->里面有好多营销软件和群发软件全都是更新的,都用的起,并且有注册机,有技术支持--->自己挑选--->如遇问题,找我吧,用“百度HI”HI我就行,其它联系方式在百度空间--->解决问题--->OK打完收工 参考技术B 打循环然后一个一个地发,老实点.
Asp.Net(C#)发送带有附件及显示图片的邮件
http://hi.baidu.com/jonnysuen/blog/item/6f5c09a9c4a210b8cb130ca0.html本回答被提问者采纳 参考技术C 建议别自己搞了,程序搞出来了,十几万的邮件你也发不出去。
邮件群发
邮件群发工具(C#版)
引言
经常会参与组织一些社区活动,涉及到和不同的人进行交流,微信当然是必须的,同样邮件也是一种不可或缺的方式。
一般群发的邮件不是很友好,如果是一对一的,收到邮件的人是不是会比较重视,而且还有他的名字在里面。
所以抽点时间写了一个工具,使用C#做个发邮件的工具非常简单。
完整代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
class Program { private static string baseDir = "" ; private static string email = "" ; static void Main( string [] args) { Console.WriteLine( "--- 开始执行 --- " ); baseDir = AppDomain.CurrentDomain.SetupInformation.ApplicationBase; email = ConfigurationManager.AppSettings[ "email" ]; var date = DateTime.Now.ToString( "yyyy-MM-dd" ); FileStream fs = new FileStream($ "{baseDir}\\\\[Log]{date}.txt" , FileMode.Create); StreamWriter sw = new StreamWriter(fs); sw.WriteLine( "===== 发送日志 =====" ); List<Contact> contacts = GetContacts(); var smtpClient = GetSmtpClient(); foreach ( var contact in contacts) { SendMail(smtpClient, contact, sw); } sw.WriteLine( "===== 执行完成 =====" ); sw.Flush(); sw.Close(); fs.Close(); Console.WriteLine( "--- 执行完成 --- " ); Console.ReadLine(); } private static SmtpClient GetSmtpClient() { string server = ConfigurationManager.AppSettings[ "server" ]; string port = ConfigurationManager.AppSettings[ "port" ]; string password = ConfigurationManager.AppSettings[ "password" ]; SmtpClient smtpClient = new SmtpClient(); smtpClient.Host = server; smtpClient.Port = Convert.ToInt32(port); smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; smtpClient.EnableSsl = true ; smtpClient.Credentials = new NetworkCredential(email, password); return smtpClient; } private static void SendMail(SmtpClient smtpClient, Contact contact, StreamWriter sw) { try { var mailMessage = GetMailMessage(contact); smtpClient.Send(mailMessage); Console.WriteLine($ " --- 发送成功, Email = {contact.Email} --- " ); sw.WriteLine($ " --- 发送成功, Email = {contact.Email} --- " ); } catch (Exception ex) { Console.WriteLine($ " === 发送失败, Email = {contact.Email} === " ); sw.WriteLine($ " === 发送失败, Email = {contact.Email} === " ); } } private static MailMessage GetMailMessage(Contact contact) { string subject = ConfigurationManager.AppSettings[ "subject" ]; string introduce = ConfigurationManager.AppSettings[ "introduce" ]; string link = ConfigurationManager.AppSettings[ "link" ]; string content = "<p style=\\"font - size:16px\\">Dear " + contact.Name + " , </p> " + "<p style=\\"font - size:16px\\">" + introduce + "</p>" + "<p style=\\"font - size:16px\\">报名链接:<a target=\\"_blank\\" href=\\"" + link + "\\">" + link + "</a></p>" + GetContent(); MailMessage mailMessage = new MailMessage(email, contact.Email); mailMessage.Subject = subject; mailMessage.Body = content; mailMessage.BodyEncoding = Encoding.UTF8; mailMessage.IsBodyHtml = true ; mailMessage.Priority = MailPriority.Normal; return mailMessage; } private static string GetContent() { var dir = baseDir + "\\\\content.txt" ; StreamReader sr = new StreamReader(dir, Encoding.UTF8); string content = sr.ReadToEnd(); sr.Close(); return content; } private static List<Contact> GetContacts() { List<Contact> contacts = new List<Contact>(); var dir = baseDir + "\\\\contacts.txt" ; StreamReader sr = new StreamReader(dir, Encoding.UTF8); string line; while ((line = sr.ReadLine()) != null ) { line = line.Replace( "," , "," ); var contact = line.Split( new [] { "," }, StringSplitOptions.RemoveEmptyEntries); if (contact.Length == 2 && ! string .IsNullOrEmpty(contact[0]) && ! string .IsNullOrEmpty(contact[1])) { contacts.Add( new Contact() {Name = contact[0], Email = contact[1]}); } } sr.Close(); return contacts; } public class Contact { public string Name { get ; set ; } public string Email { get ; set ; } } } |
app.config
1
2
3
4
5
6
7
8
9
|
< appSettings > < add key="server" value="smtp.live.com" /> < add key="port" value="25" /> < add key="email" value="***@hotmail.com" /> < add key="password" value="" /> < add key="subject" value="敏捷个人北京2016年6月活动:玩转生涯狂想曲" /> < add key="introduce" value="欢迎参加敏捷个人北京2016年6月活动:玩转生涯狂想曲活动!" /> </ appSettings > |
注意
1)读取app.config的配置信息
2)读取程序根目录下的联系人文件:contacts.txt
--------------------------------
测试1,***@gmail.com
测试2,***@qq.com
测试3,***@163.com
--------------------------------
3)读取程序根目录下的内容文件,包含Html代码:content.txt
发送结果截图
1)控制台输出日志
2)收到邮件内容,dear **
代码下载
以上是关于.net邮件群发可以群发十几万的那种,应该怎么搞的主要内容,如果未能解决你的问题,请参考以下文章