基本是照着这位做了一个
http://www.cnblogs.com/zhili/archive/2012/09/24/MailSend_POP3_SMTP.html然后老师给提要求还要加信纸……百度实在找不到方法C#邮件

解决方案 »

  1.   

    非常简单啊,带着附件发送,发送的内容为HTML代码。然后在一个div标签设置背景图片,背景图片就是那个信纸附件。然后发过去就有信纸了
      

  2.   

    初学者表示不是很懂“发送内容为HTML代码”和“div标签设置背景图片”这两部分……
    哪里可以找到例子的代码吗?
      

  3.   

    /// <summary>
            /// 发邮件,可发图片邮件
            /// </summary>
            /// <param name="server">发件邮箱的服务器</param>
            /// <param name="faAdd">发件邮箱的地址</param>
            ///<param name="pwd">邮箱的密码</param>
            /// <param name="shouAdd">收件邮箱的地址</param>
            /// <param name="Subject">邮件的主题</param>
            /// <param name="path">邮件正文的地址</param>
            public void GetEmail2(string server, string faAdd, string pwd, string shouAdd, string Subject, string path, string picpath)
            {
                using (var smtp = new SmtpClient())            using (var mail = new MailMessage(faAdd, shouAdd))
                {                //图像附件                //var attach = new Attachment(@"D:\工作\图片\a1.jpg", MediaTypeNames.Image.Jpeg);                //设置ContentId                //attach.ContentId = "a1";
                    //循环添加某个文件夹中的所有图片附件
                    foreach (string ss in Directory.GetFiles(picpath, "*.jpg", SearchOption.TopDirectoryOnly))
                    {
                        Attachment att = new Attachment(ss, MediaTypeNames.Image.Jpeg);
                        string std = ss.Substring(ss.LastIndexOf("\\") + "\\".Length).Replace(".jpg", "");
                        att.ContentId = std;
                        mail.Attachments.Add(att);
                    }                //ZIP附件                //var attach2 = new Attachment(@"D:\b.zip", "application/x-zip-compressed");                //mail.Attachments.Add(attach);                //mail.Attachments.Add(attach2);
                    //标题和内容,注意设置编码,因为默认编码是ASCII                mail.Subject = Subject;                mail.SubjectEncoding = Encoding.UTF8;                //HTML内容
                    string s = File.ReadAllText(path);                mail.Body = s;                mail.BodyEncoding = Encoding.UTF8;                //指示改电子邮件内容是HTML格式                mail.IsBodyHtml = true;                //SMTP设置(根据邮箱类型设置,这里是Live Mail的SMTP服务器地址)                smtp.Host = server;
                    //smtp.Port = 465;                smtp.UseDefaultCredentials = false;                //某些SMTP服务器可能不支持SSL,会抛出异常                smtp.EnableSsl = false;                smtp.Credentials = new NetworkCredential(faAdd, pwd);                smtp.DeliveryMethod = SmtpDeliveryMethod.Network;                //发送                smtp.Send(mail);            }
    这是我写的,我用它发过带图片的邮件
      

  4.   

    至于邮件的内容可以是这样的
    <div style="background-image:url(cid:某某)">内容(必须是html格式,文字之类的要用<p>括起来)</div>这里面的那个某某对应我的代码里面的att.ContentId的值
      

  5.   

    String.Format()
      

  6.   


    感谢,又遇到了个问题,方便的话给看下吧http://bbs.csdn.net/topics/390460537