Windows Server 2008 R2 相关配置(一):邮件服务器(转)

来源:互联网 发布:linux系统tar命令 编辑:程序博客网 时间:2024/06/06 01:26

Windows Server 2008 R2 相关配置(一):邮件服务器

Posted on 2012-03-24 17:15 lucio 阅读(228) 评论(0) 编辑 收藏

        最近一年,一直在和一个澳大利亚的客户做金融相关的项目,由于客户那边没有专门的IT相关的开发和维护人员,所有的沟通都是基于Email和skype的方式,邮件系统是他们平时最为依赖的一部分,只要这部分出问题了,再多的其他正在进行的事情都要搁置起来,先解决这个,所以将这个放在第一部分:

 

   Step1:在IIS7.5下启用IIS6的SMTP,见下图:

                                       

 

Step2:点击SMTP-->Propertites:

                                 

 

Step3:设置邮件IP地址:

              

 

  Step4:这一步比较重要,设置Relay restriction开始就是没设置这一步导致浪费了一天时间:

          

        在弹出的页面选择All except the list below:

         

 

Step5:设置允许的最大邮件大小,每天最大连接数:

        

 

Step6: 设置邮件发送失败重发的邮件频率等等:

 

 

OK,这样在相关的设置就完成了。

 

相关的C#的SMTP操作的代码如下:

1) 发送不带附件的邮件 

  1    /// <summary>

复制代码
 2       /// Send email without attachments
 3       /// </summary>
 4       /// <param name="ToMail">收件人邮箱地址</param>
 5       /// <param name="FromMail">发件人邮箱地址</param>
 6       /// <param name="Cc">抄送</param>
 7       /// <param name="Bcc">密送</param>
 8       /// <param name="Body">邮件正文</param>
 9       /// <param name="Subject">邮件标题</param>
10       /// <returns></returns>
11     public string SendMail(string ToMail, string FromMail, string Cc, string Bcc, string Body, string Subject)
12     {
13         SmtpClient client = new SmtpClient();
14         MailMessage message = new MailMessage {
15             From = new MailAddress(FromMail)
16         };
17         message.To.Add(ToMail);
18         if (Cc != "")
19         {
20             message.CC.Add(Cc);
21         }
22         message.Body = Body;
23         message.Subject = Subject;
24         message.IsBodyHtml = true;
25         client.UseDefaultCredentials = true;
26         message.Priority = MailPriority.High;
27         client.Host = "127.0.0.1";//此处应该改为上面设置的服务器IP地址
28         client.Port = 0x19;
29         try
30         {
31             client.DeliveryMethod = SmtpDeliveryMethod.Network;
32             client.Send(message);
33             message.Dispose();
34             return "1";
35         }
36         catch (Exception exception)
37         {
38             return ("0" + exception);
39         }
40     }
复制代码

 2)发送带附件的邮件

复制代码
 2     ///  Send email without attachments
 3     /// </summary>
 4     /// <param name="ToMail">收件人邮箱地址</param>
 5     /// <param name="FromMail">发件人邮箱地址</param>
 6     /// <param name="Cc">抄送</param>
 7     /// <param name="Bcc">密送</param>
 8     /// <param name="Body">邮件正文</param>
 9     /// <param name="Subject">邮件标题</param>
10     /// <param name="Attachments">附件列表</param>
11     /// <returns></returns>
12     public string SendMailWithAttachment(string ToMail, string FromMail, string Cc, string Bcc, string Body, string Subject, string[] Attachments)
13     {
14         SmtpClient client = new SmtpClient();
15         MailMessage message = new MailMessage {
16             From = new MailAddress(FromMail)
17         };
18         message.To.Add(ToMail);
19         if (Cc != "")
20         {
21             message.CC.Add(Cc);
22         }
23 
24         message.Body = Body;
25         message.Subject = Subject;
26         message.IsBodyHtml = true;
27         message.Priority = MailPriority.High;
28         if (Attachments.Length > 0)
29         {
30             for (int i = 0; i < Attachments.Length; i++)
31             {
32                 if (Attachments[i].ToString() != "")
33                 {
34                     Attachment item = new Attachment(Attachments[i].ToString());
35                     message.Attachments.Add(item);
36                 }
37             }
38         }
39         client.Host = "127.0.0.1";//此处应该改为上面设置的服务器IP地址
40         client.Port = 0x19;
41         try
42         {
43             client.DeliveryMethod = SmtpDeliveryMethod.Network;
44             client.Send(message);
45             message.Dispose();
46             return "1";
47         }
48         catch (Exception exception)
49         {
50             return ("0" + exception);
51         }
52     }
复制代码

原创粉丝点击