`
isiqi
  • 浏览: 16482798 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

C# 群发邮件 (密送、抄送)

阅读更多

群发邮件,对于网站和一些推广应用,可谓不可或缺的“技能”

对于.NET而言,从2.0开始,发邮件已经是一件非常easy 的事了。下面我给出一个用C#群发邮件的实例,做了比较详细的注解,希望对有需要的朋友有所help。看了这篇BLOG,如果你还不会用.NET发邮件,要么你去死,要么还是你去死

Let’s Go !!

// 引入命名空间

using System.Net;
using System.Net.Mail;
SmtpClient smtp = new SmtpClient(); //实例化一个SmtpClient
smtp.DeliveryMethod = SmtpDeliveryMethod.Network; //将smtp的出站方式设为 Network
smtp.EnableSsl = false;//smtp服务器是否启用SSL加密
smtp.Host = "smtp.163.com"; //指定 smtp 服务器地址
smtp.Port = 25;             //指定 smtp 服务器的端口,默认是25,如果采用默认端口,可省去
//如果你的SMTP服务器不需要身份认证,则使用下面的方式,不过,目前基本没有不需要认证的了
smtp.UseDefaultCredentials = true;
//如果需要认证,则用下面的方式
smtp.Credentials = new NetworkCredential("邮箱帐号@163.com", "邮箱密码");
MailMessage mm = new MailMessage(); //实例化一个邮件类
mm.Priority = MailPriority.High; //邮件的优先级,分为 Low, Normal, High,通常用 Normal即可
mm.From = new MailAddress("邮箱帐号@163.com", "真有意思", Encoding.GetEncoding(936));
//收件方看到的邮件来源;
//第一个参数是发信人邮件地址
//第二参数是发信人显示的名称
//第三个参数是 第二个参数所使用的编码,如果指定不正确,则对方收到后显示乱码
//936是简体中文的codepage值

注:上面的邮件来源,一定要和你登录邮箱的帐号一致,否则会认证失败

mm.ReplyTo = new MailAddress("test_box@gmail.com", "我的接收邮箱", Encoding.GetEncoding(936));
//ReplyTo 表示对方回复邮件时默认的接收地址,即:你用一个邮箱发信,但却用另一个来收信
//上面后两个参数的意义, 同 From 的意义
mm.CC.Add("a@163.com,b@163.com,c@163.com");
//邮件的抄送者,支持群发,多个邮件地址之间用 半角逗号 分开

//当然也可以用全地址,如下:
mm.CC.Add(new MailAddress("a@163.com", "抄送者A", Encoding.GetEncoding(936)));
mm.CC.Add(new MailAddress("b@163.com", "抄送者B", Encoding.GetEncoding(936)));
mm.CC.Add(new MailAddress("c@163.com", "抄送者C", Encoding.GetEncoding(936)));

mm.Bcc.Add("d@163.com,e@163.com");
//邮件的密送者,支持群发,多个邮件地址之间用 半角逗号 分开

//当然也可以用全地址,如下:
mm.CC.Add(new MailAddress("d@163.com", "密送者D", Encoding.GetEncoding(936)));
mm.CC.Add(new MailAddress("e@163.com", "密送者E", Encoding.GetEncoding(936)));
mm.Sender = new MailAddress("xxx@xxx.com", "邮件发送者", Encoding.GetEncoding(936));
//可以任意设置,此信息包含在邮件头中,但并不会验证有效性,也不会显示给收件人
//说实话,我不知道有啥实际作用,大家可不理会,也可不写此项
mm.To.Add("g@163.com,h@163.com");
//邮件的接收者,支持群发,多个地址之间用 半角逗号 分开

//当然也可以用全地址添加

mm.To.Add(new MailAddress("g@163.com", "接收者g", Encoding.GetEncoding(936)));
mm.To.Add(new MailAddress("h@163.com", "接收者h", Encoding.GetEncoding(936)));
mm.Subject = "这是邮件标题"; //邮件标题
mm.SubjectEncoding = Encoding.GetEncoding(936);
// 这里非常重要,如果你的邮件标题包含中文,这里一定要指定,否则对方收到的极有可能是乱码。
// 936是简体中文的pagecode,如果是英文标题,这句可以忽略不用
mm.IsBodyHtml = true; //邮件正文是否是HTML格式

mm.BodyEncoding = Encoding.GetEncoding(936);
//邮件正文的编码, 设置不正确, 接收者会收到乱码

mm.Body = "<font color="red">邮件测试,呵呵</font>";
//邮件正文
mm.Attachments.Add( new Attachment( @"d:a.doc", System.Net.Mime.MediaTypeNames.Application.Rtf ) );
//添加附件,第二个参数,表示附件的文件类型,可以不用指定
//可以添加多个附件
mm.Attachments.Add( new Attachment( @"d:b.doc") );
smtp.Send( mm ); //发送邮件,如果不返回异常, 则大功告成了。

OH, 卖糕的,终于写完了

分享到:
评论

相关推荐

    _NET C# 群发 HTML格式 带附件 中文发送者 密送 抄送 的邮件 - _NET技术 - ITPUB个人空间 - powered by X-Space.mht

    _NET C# 群发 HTML格式 带附件 中文发送者 密送 抄送 的邮件 - _NET技术 - ITPUB个人空间 - powered by X-Space.mht

    C# 编写的邮件无敌群发(绝对管用)

    2. **MailMessage类**:此类用于构建邮件的基本结构,包括发件人、收件人、抄送人、密送人、主题、正文和附件等。例如,你可以通过To.Add()方法添加收件人,通过Subject属性设置邮件主题,通过Body属性设置邮件正文...

    C#WinForm群发邮件源码

    2. **设置邮件属性**:使用MailMessage类,设置From(发件人)、To(收件人)、Cc(抄送人)、Bcc(密送人)、Subject(主题)和Body(正文)。 3. **多附件添加**:如果需要附带文件,可以使用MailMessage的...

    C#制作简单邮件群发系统

    `MailMessage`类用于构建邮件对象,包括发件人、收件人、抄送人、密送人、主题和邮件正文等信息。`From`属性设置发件人,`To`、`Cc`和`Bcc`属性分别添加收件人、抄送人和密送人,`Subject`设置邮件主题,`Body`设置...

    C#发送邮件小程序源码

    - `To`、`Cc`、`Bcc`:分别用于指定主收件人、抄送人和密送人的邮箱地址。 - `Subject`:设定邮件的主题。 - `Body`:设定邮件的正文内容,可以是纯文本或HTML格式。 - `IsBodyHtml`:一个布尔值,如果设为true...

    邮件群发系统、C#邮件群发系统

    C#中的`System.Net.Mail`命名空间提供了`MailMessage`类来构造邮件,可以设置发件人、收件人、抄送人、密送人、主题和邮件正文,同时支持HTML格式和纯文本格式的邮件内容。 3. **批量发送**:为了提高效率,邮件...

    群发邮件C#源码(含程序和源码)

    1. 创建MailMessage对象,设置发件人、收件人、抄送人、密送人、主题和邮件内容。 2. 创建SmtpClient对象,配置SMTP服务器地址、端口、用户名、密码等相关参数。 3. 使用SmtpClient对象的Send方法发送邮件。 四、...

    C#群发邮件

    此外,还可以使用BCC(密送)或CC(抄送)字段添加额外的收件人: ```csharp message.Bcc.Add("bccRecipient@example.com"); // BCC message.Cc.Add("ccRecipient@example.com"); // CC ``` 以上就是使用C#和.NET...

    C#邮件群发源码C#邮件群发源码

    2. **MailMessage类**:用于构建待发送的邮件实例,包括From(发件人)、To(收件人)、Cc(抄送人)、Bcc(密送人)、Subject(主题)、Body(正文)等属性。此外,还可以设置HTML或纯文本格式的邮件内容。 3. **...

    c#邮件群发系统 WinForms

    它包含了邮件的各个部分,如发件人、收件人、抄送人、密送人、主题和邮件正文。开发者需要实例化这个类并设置相应的属性。 4. **附件处理** - 如果邮件需要包含附件,可以通过`AlternateView`或`LinkedResource`类...

    Excel导入群发邮件源码

    开发者需要设置SMTP服务器地址、端口、用户名、密码,以及构建邮件对象,包括收件人、抄送人、密送人、主题和正文等。 3. **C#**:这是实现代码的编程语言,提供了丰富的类库支持,如用于文件操作、数据处理和网络...

    winForm邮件群发

    可以使用`From`属性设置发件人,`To`、`Cc`、`Bcc`分别设置收件人、抄送人和密送人。 - `Subject`属性用于设置邮件主题,`Body`属性设置邮件正文,可以是纯文本或HTML格式。 - 通过`IsBodyHtml`属性可以指定正文...

    C#发送邮件 支持群发 支持附件

    1. 创建`MailMessage`对象:这是邮件的基本结构,包含发件人、收件人、抄送人、密送人、主题和邮件正文等信息。例如: ```csharp MailMessage mail = new MailMessage(); mail.From = new MailAddress("发件人邮箱@...

    邮件群发C#项目代码

    我们需要创建`MailMessage`实例,设置发件人、收件人、抄送人、密送人、主题、正文等属性。邮件正文可以是纯文本或HTML格式,还可以添加附件。 3. **邮件格式**:邮件可以是纯文本或HTML格式。HTML格式允许我们在...

    C#邮件群发

    4. **邮件群发**:要实现邮件群发,可以创建多个`MailMessage`实例,或者将多个收件人添加到同一个`MailMessage`的`To`、`Cc`(抄送)或`Bcc`(密送)集合中。如果收件人数量巨大,为了提高效率,可以使用异步发送或...

    C# winfrom电子邮件源码

    2. **创建邮件**: 使用`MailMessage`类实例化一个邮件对象,然后设置其属性,如发件人、收件人、抄送人、密送人、主题、正文等。如果邮件包含附件,可以使用`Attachments`属性添加。 3. **发送邮件**: 使用`...

    一个简单的C#邮件群发源代码

    - `CC` 和 `Bcc`: 分别代表抄送和密送。 - `Subject`: 设置邮件主题。 - `Body`: 设置邮件正文内容。 - `SubjectEncoding` 和 `BodyEncoding`: 设置主题和正文的编码格式。 #### 三、核心代码解析 1. **实例化...

    C# 邮箱自动发送邮件程序

    2. **邮件对象创建**:创建`MailMessage`对象,设置发件人、收件人、抄送人、密送人、主题和邮件正文。对于群发,我们需要在`To`、`Cc`或`Bcc`属性中添加多个收件人的邮箱地址。 3. **附件处理**:如果需要,程序还...

    C# 邮件发送程序

    2. **MailMessage类**:该类用于创建邮件对象,包含发件人、收件人、抄送人、密送人、主题、正文等信息。例如: ```csharp MailMessage message = new MailMessage(); message.From = new MailAddress("your_...

Global site tag (gtag.js) - Google Analytics