好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C#实现发送邮件的方法

本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下

?

#region 发送邮件部分

     private static String fromMail = "1111@126测试数据" ;  ///邮箱名称

     private static String mailPwd = "111111" ;     ///密码

     private static string toMail = "2222@163测试数据" ;  ///邮箱服务器

     private static string fileStr; //当前图片路径,在添加附件时用

     /// <summary>

     /// 发送邮件

     /// </summary>

     /// <param name="fileUrl">附件地址,以~分</param>

     /// <param name="screen">是否发送截屏</param>

     /// <returns></returns>

     public static string SendMail( string fileUrl, string screen)

     {

     

       MailAddress from = new MailAddress(fromMail);

       MailAddress to = new MailAddress(toMail);

 

       MailMessage message = new MailMessage(from, to);

       message.Subject = "M邮件 " +11111; //主题

       message.SubjectEncoding = System.Text.Encoding.UTF8;

 

       Attachment attachFile = new Attachment(fileStr);

       if (screen == "True" )

         message.Attachments.Add(attachFile);

 

       string [] files = fileUrl.Split( '~' );

       for ( int i = 0; i < files.Length; i++)

       {

         if (File.Exists(files[i]))

         {

           Attachment attachFile1 = new Attachment(fileUrl);

           message.Attachments.Add(attachFile1);

         }

       }

 

       try

       {

         SmtpClient client = new SmtpClient( "smtp." + from.Host);

 

         SendMail(client, from, mailPwd, to, message);

 

       

         return "发送邮件成功!包含附件:" + fileUrl + " 含截图?" + screen + "  " + DateTime.Now.ToString();

       }

       catch (SmtpException ex)

       {

         //如果错误原因是没有找到服务器,则尝试不加smtp.前缀的服务器

         if (ex.StatusCode == SmtpStatusCode.GeneralFailure)

         {

           try

           {

             //有些邮件服务器不加smtp.前缀

             SmtpClient client = new SmtpClient(from.Host);

             SendMail(client, from, mailPwd, to, message);

          

             return "发送邮件成功!包含附件:" + fileUrl + " 含截图?" + screen + "  " + DateTime.Now.ToString();

 

           }

           catch (SmtpException err)

           {

           

             return "发送邮件失败!" + err.Message + "  " + DateTime.Now.ToString();

           }

         }

         else

         {

         

           return "发送邮件失败!" + ex.Message + "  " + DateTime.Now.ToString();

         }

       }

     }

 

     //根据指定的参数发送邮件

     private static void SendMail(SmtpClient client, MailAddress from, string password,

        MailAddress to, MailMessage message)

     {

       //不使用默认凭证,注意此句必须放在client.Credentials的上面

       client.UseDefaultCredentials = false ;

       //指定用户名、密码

       client.Credentials = new NetworkCredential(from.Address, password);

       //邮件通过网络发送到服务器

       client.DeliveryMethod = SmtpDeliveryMethod.Network;

       try

       {

         client.Send(message);

       }

       catch

       {

         throw ;

       }

       finally

       {

         //及时释放占用的资源

         message.Dispose();

       }

     }

 

     #endregion

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:http://HdhCmsTestcnblogs测试数据/qc-id-01/p/7514316.html

dy("nrwz");

查看更多关于C#实现发送邮件的方法的详细内容...

  阅读:40次