发送邮件(2)

来源:互联网 发布:数据透视表求和布局 编辑:程序博客网 时间:2024/06/06 01:42

 1.第一种发送方式

 /// <summary>
    /// 发送邮件
    /// </summary>
    /// <param name="SmtpServer">发件邮箱服务器</param>
    /// <param name="PassWord">发件人邮箱密码</param>
    /// <param name="SendMail">发件人邮箱</param>
    /// <param name="SendName">发件人在邮件中的显示名</param>
    /// <param name="ReceiverMail">收件人邮箱</param>
    /// <param name="ReceiverName">收件人在邮箱中的显示名</param>
    /// <param name="MailSubject">邮件标题</param>
    /// <param name="MailBody">邮件正文</param>
    /// <param name="Attachments">附件路径</param>
    /// <returns></returns>
    public static bool SendMail(string SmtpServer, string PassWord, string SendMail, string SendName, string ReceiverMail, string ReceiverName, string MailSubject, string MailBody, string Attachments)
    {
        System.Net.Mail.SmtpClient smtp;
        smtp = new System.Net.Mail.SmtpClient(SmtpServer);
        smtp.Timeout = 60000;
        smtp.UseDefaultCredentials = true;
        //设置发件人用户密码
        smtp.Credentials = new System.Net.NetworkCredential(SendMail.Split('@')[0], PassWord);
        smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
        System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
        message.SubjectEncoding = System.Text.Encoding.UTF8;
        message.BodyEncoding = System.Text.Encoding.UTF8;
        //设置发件人地址姓名
        message.From = new System.Net.Mail.MailAddress(SendMail, SendName, System.Text.Encoding.UTF8);
        //设置收件人地址姓名
        message.To.Add(new System.Net.Mail.MailAddress(ReceiverMail, ReceiverName, System.Text.Encoding.UTF8));
        message.IsBodyHtml = true;
        message.Subject = MailSubject;
        message.Body = MailBody;
        if (Attachments != "" && Attachments != null)
            message.Attachments.Add(new System.Net.Mail.Attachment(Attachments));
        try
        {
            smtp.Send(message);
            return true;
        }
        catch (Exception ex)
        {
            string mes = ex.Message;
            return false;
        }
    }

 

//此种方式要设置 SMTP 服务

//1,把SMTP服务打开

//2,设置SMTP-属性-选择自己的IP(我用本机测试)-访问-中继-选择仅使用一下列表!Ok!

 

///第二种方式

 /// <summary>
    ///
    /// </summary>
    /// <param name="messageSubject"></param>
    /// <param name="messageBody"></param>
    /// <param name="messageTo"></param>
    public static void SendEmailNew(string messageSubject, string messageBody, string messageTo)
    {
        if (messageTo == string.Empty)
            return;

        string mailServerName = ConfigurationManager.AppSettings["EmailServer"].ToString();

        System.Web.Mail.MailMessage mess = new System.Web.Mail.MailMessage();
        try
        {
            //
            mess.From = ConfigurationManager.AppSettings["EmailSender"].ToString();
            string emailAccount = ConfigurationManager.AppSettings["EmailAccount"].ToString();
            string emailPWD = ConfigurationManager.AppSettings["EmailPWD"].ToString();

            mess.Cc = messageTo;
            mess.Subject = messageSubject;
            mess.Body = messageBody;

            mess.BodyFormat = System.Web.Mail.MailFormat.Html;

            System.Text.Encoding GB2312 = System.Text.Encoding.GetEncoding("GB2312");
            //mess.SubjectEncoding = GB2312;

            // Set message encoding
            mess.BodyEncoding = GB2312;// System.Text.Encoding.UTF8;

            mess.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
            mess.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", emailAccount);
            mess.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", emailPWD);

            System.Web.Mail.SmtpMail.SmtpServer = "mail.tldchina.com";
            System.Web.Mail.SmtpMail.Send(mess);

        }
        catch
        {
            try
            {
                System.Web.Mail.SmtpMail.Send(mess);
            }
            catch
            {
                try
                {
                    System.Web.Mail.SmtpMail.Send(mess);
                }
                catch (FormatException ex)
                {
                    //throw ex;
                    //this.ShowMessage("发送反馈邮件失败:" + ex.Message);
                }
                catch (SmtpException ex)
                {
                    //throw ex;
                    //this.ShowMessage("SMTP 服务器错误:" + ex.Message);
                }
                catch (Exception ex)
                {
                    //throw ex;
                    //this.ShowMessage("发送失败:" + ex.Message);
                }
            }
        }
        finally
        {
            //mess.Dispose();
        }

    }

 

config 文件中放入以下代码

 

    <add key="EmailServer" value="202.106.236"/>
    <add key="EmailSender" value="邮箱"/>
    <add key="EmailAccount" value="newsletter"/>
    <add key="EmailPWD" value="666666"/>

 

 

原创粉丝点击