邮件发送方法

来源:互联网 发布:淘宝上zara是真的吗 编辑:程序博客网 时间:2024/04/19 08:19

    /// <summary>
    /// 邮件发送
    /// </summary>
    /// <param name="strToEmail">目标邮箱</param>
    /// <param name="strFromEmail">发送邮箱</param>
    /// <param name="strSubject">邮件主题</param>
    /// <param name="strBody">邮件内容</param>
    /// <param name="strFromEmailPwd">发送邮箱密码</param>
    /// <param name="strHost">发送主机</param>
    /// <param name="strArryImage">需发送图片,无为null</param>
    /// <param name="strArryFile">需发送附件,无为null</param>
    public void TestSendEmail(string strToEmail,string strFromEmail,string strSubject,string strBody,string strFromEmailPwd,string strHost,string[] strArryImage,string[] strArryFile)
    {
        //声明一个邮件类
        System.Net.Mail.MailMessage mm = new System.Net.Mail.MailMessage();

        //设置该邮件的目标地址
        mm.To.Add(strToEmail);
        //设置该邮件的发送地址
        mm.From = new System.Net.Mail.MailAddress(strFromEmail);
        //设置该邮件的主题
        mm.Subject = strSubject;

        //设置该邮件内容是否支持HTML
        mm.IsBodyHtml = true;
        //设置该邮件类容
        mm.Body = strBody;

        //设置该邮件的图片
        if (strArryImage!=null)
        {
            System.Net.Mail.AlternateView av = System.Net.Mail.AlternateView.CreateAlternateViewFromString(strBody, null, "text/html");           
            for (int i=0; i < strArryImage.Length; i++)
            {
                System.Net.Mail.LinkedResource lr = new System.Net.Mail.LinkedResource(strArryImage[i].ToString());
                lr.ContentId = "imageid" + i.ToString();
                av.LinkedResources.Add(lr);
            }
            mm.AlternateViews.Add(av);
        }

        //设置该邮件的附件
        if (strArryFile != null)
        {
            foreach (string strFile in strArryFile)
            {
                System.Net.Mail.Attachment aht = new System.Net.Mail.Attachment(strFile);
                mm.Attachments.Add(aht);
            }
        }

        System.Net.Mail.SmtpClient sc = new System.Net.Mail.SmtpClient();
        sc.Credentials = new System.Net.NetworkCredential(strFromEmail,strFromEmailPwd);
        sc.Host = strHost;
        sc.Send(mm);
       
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        string strToEmail="test@qq.com";
        string strFromEmail = "test@qq.com";
        string strSubject="测试邮件";
        string strBody = "测试图片一:<img src=/"cid:imageid0/" />" + "测试图片二:<img src=/"cid:imageid1/" />";
        string strFromEmailPwd="********";
        string strHost="smtp.qq.com";
        string[] strArryImage=new string[]{@"E:/Item/GW/images/QQ.jpg",@"E:/Item/GW/images/sina.jpg"};
        string[] strArryFile = new string[] { @"E:/Item/GW/images/QQ.jpg", @"E:/Item/GW/images/sina.jpg" };
        TestSendEmail(strToEmail,strFromEmail,strSubject,strBody,strFromEmailPwd,strHost,strArryImage,strArryFile);
    }