zoukankan      html  css  js  c++  java
  • C#发送邮件

    一、先定义邮件类型

    /// <summary>
    /// 邮件
    /// </summary>
    public class EmailEntity
    {
    /// <summary>
    /// 发送人
    /// </summary>
    public string mailSender { get; set; }

    /// <summary>
    /// 收件人
    /// </summary>
    public string[] mailToArray { get; set; }

    /// <summary>
    /// 抄送
    /// </summary>
    public string[] mailCcArray { get; set; }

    /// <summary>
    /// 标题
    /// </summary>
    public string mailSubject { get; set; }

    /// <summary>
    /// 正文
    /// </summary>
    public string mailBody { get; set; }

    /// <summary>
    /// 发件人密码
    /// </summary>
    public string mailPwd { get; set; }

    /// <summary>
    /// SMTP邮件服务器
    /// </summary>
    public string host { get; set; }

    /// <summary>
    /// 正文是否是html格式
    /// </summary>
    public bool isbodyHtml { get; set; }

    /// <summary>
    /// 附件
    /// </summary>
    public string[] attachmentsPath { get; set; }
    /// <summary>
    /// 是否发送成功
    /// </summary>
    /// <returns></returns>
    public bool Send()
    {
    //使用指定的邮件地址初始化MailAddress实例
    MailAddress maddr = new MailAddress(mailSender);
    //初始化MailMessage实例
    MailMessage myMail = new MailMessage();
    //向收件人地址集合添加邮件地址
    if (mailToArray != null)
    {
    for (int i = 0; i < mailToArray.Length; i++)
    {
    myMail.To.Add(mailToArray[i].ToString());
    }
    }

    //向抄送收件人地址集合添加邮件地址
    if (mailCcArray != null)
    {
    for (int i = 0; i < mailCcArray.Length; i++)
    {
    myMail.CC.Add(mailCcArray[i].ToString());
    }
    }
    //发件人地址
    myMail.From = maddr;

    //电子邮件的标题
    myMail.Subject = mailSubject;

    //电子邮件的主题内容使用的编码
    myMail.SubjectEncoding = Encoding.UTF8;

    //电子邮件正文
    myMail.Body = mailBody;

    //电子邮件正文的编码
    myMail.BodyEncoding = Encoding.Default;

    myMail.Priority = MailPriority.High;

    myMail.IsBodyHtml = isbodyHtml;

    //在有附件的情况下添加附件
    try
    {
    if (attachmentsPath != null && attachmentsPath.Length > 0)
    {
    Attachment attachFile = null;
    foreach (string path in attachmentsPath)
    {
    attachFile = new Attachment(path);
    myMail.Attachments.Add(attachFile);
    }
    }
    }
    catch (Exception err)
    {
    ///写日志
    }

    SmtpClient smtp = new SmtpClient();
    //指定发件人的邮件地址和密码以验证发件人身份
    smtp.Credentials = new System.Net.NetworkCredential(mailSender, mailPwd);

    //QQ邮箱使用ssl加密
    //smtp.EnableSsl = true;
    smtp.EnableSsl = false;
    //设置SMTP邮件服务器
    smtp.Host = host;

    try
    {
    //将邮件发送到SMTP邮件服务器
    smtp.Send(myMail);
    return true;

    }
    catch (System.Net.Mail.SmtpException ex)
    {
    ///写日志
    return false;
    }

    }
    }

    二、调用实例

    ///附件路径

    string   path = @"C:UsersAdamDesktopExcel est201803";

    string[] attachmentsPath = new string[] { path };///可以发送多个附件


    EmailEntity email = new EmailEntity();
    email.mailSender = "发送人邮箱地址";
    email.mailPwd = "发送人邮箱密码";
    email.mailSubject = "邮件标题";
    email.mailBody = "邮件内容";
    email.isbodyHtml = false; //是否是HTML
    email.attachmentsPath = attachmentsPath;///附件地址
    email.host = "smtp.mxhichina.com";//如果是QQ邮箱则:smtp:qq.com,依次类推 smtp.163.com 阿里云 smtp.mail.aliyun.com 阿里企业邮箱 smtp.mxhichina.com
    email.mailToArray = new string[] { SendEmail };//接收者邮件集合
    //email.mailCcArray = new string[] { "******@qq.com" };//抄送者邮件集合

    if (email.Send())
    {
    Console.WriteLine("服务状态 : 发送邮件成功,请注意查看!");
    }
    else
    {
    Console.WriteLine("服务状态 : 发送邮件失败!");
    }

  • 相关阅读:
    Openstack Swift 添加和删除 custom metadata name,通过 libcurl
    Windows Error Reporting, Mini dump 2, Full dump 1
    英语邮件结尾时常用的20个句子
    QT 编译时 Warning: The name 'layoutWidget' (QWidget) is already in use, defaulting to 'layoutWidget1'.
    QVBoxLayout 不能移动
    学生管理系统
    使用python发送邮件
    ElasticSearch 基础 2
    ElasticSearch 基础 1
    Linux系统命令
  • 原文地址:https://www.cnblogs.com/LeiYang5237/p/8565382.html
Copyright © 2011-2022 走看看