首页 > 编程语言 >C# 发送邮件

C# 发送邮件

时间:2022-12-21 10:58:05浏览次数:113  
标签:arr string C# System 发送 Mail mail Net 邮件

方法一:

 public static string SendMail2(string add_smtp, string acc_SendMail, string psw_SendMail, string add_SendMail, ArrayList arr_GetMail, ArrayList arr_CcMail, ArrayList arr_McMail, ArrayList arr_Att, string body, string subject, bool bodytype)
        {
            add_smtp = "实际地址";
            psw_SendMail = "密码";
            string result = "";
            System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient(add_smtp, 25);
            smtp.Credentials = new System.Net.NetworkCredential(acc_SendMail, psw_SendMail);
            System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
            for (int s = 0; s < arr_GetMail.Count; s++)
            {
                mail.To.Add(arr_GetMail[s].ToString() + "");
            }

            //抄送
            for (int c = 0; c < arr_CcMail.Count; c++)
            {

                mail.CC.Add(arr_CcMail[c].ToString() + "");
            }


            //密送
            for (int c = 0; c < arr_McMail.Count; c++)
            {

                mail.Bcc.Add(arr_McMail[c].ToString() + "");
            }

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

            mail.BodyEncoding = System.Text.Encoding.GetEncoding("GB2312");

            mail.From = new System.Net.Mail.MailAddress(add_SendMail);

            mail.Priority = System.Net.Mail.MailPriority.Normal;

            mail.Subject = subject;

            mail.Body = body;


            mail.IsBodyHtml = bodytype;

            for (int d = 0; d < arr_Att.Count; d++)
            {
                System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(arr_Att[d].ToString());

                mail.Attachments.Add(attachment);
            }

            try
            {
                smtp.Send(mail);

                result = "sucess";
            }
            catch (System.Net.Mail.SmtpException ex)
            {
                result = ex.Message + ex.Source;
            }

            finally
            {
                mail.Dispose();
            }
            return result;

        }

  

方法二:

/// <summary>
    /// 邮件发送辅助类
    /// </summary>
    public class MailHelper
    {
        /// <summary>
        /// 发送邮件 [如果发送失败,不添加重发]
        /// </summary>
        /// <param name="tomail">收件人</param>
        /// <param name="subject">主题</param>
        /// <param name="body">消息内容</param>
        public static void SendMail(string  tomail, string subject, string body,string mailFrom)
        {
            // 设置发送方的邮件信息,例如使用网易的smtp
            string smtpServer = "实际地址"; //SMTP服务器
            string user = "用户名";
            string userPassword = "密码";//登陆密码
            string mailTo = tomail;
            // 邮件服务设置
            SmtpClient smtpClient = new SmtpClient();
            smtpClient.Host = smtpServer; //指定SMTP服务器
            smtpClient.Port = 25;
            smtpClient.UseDefaultCredentials = false;
            smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
            smtpClient.Credentials = new System.Net.NetworkCredential(mailFrom, userPassword);//用户名和密码


            // 发送邮件设置        
            MailMessage mailMessage = new MailMessage(mailFrom, mailTo); // 发送人和收件人
            mailMessage.Subject = subject;//主题
            mailMessage.Body = body;//内容
            mailMessage.BodyEncoding = Encoding.UTF8;//正文编码
            mailMessage.IsBodyHtml = true;//设置为HTML格式
           
            try
            {
                smtpClient.Send(mailMessage); // 发送邮件
            }
            catch (SmtpException ex)
            {
                throw ex;
            }
        }
    }

  

 

标签:arr,string,C#,System,发送,Mail,mail,Net,邮件
From: https://www.cnblogs.com/ydc2023/p/16995731.html

相关文章

  • C# MINIEXCEL
    添加miniexcel引用 1,新建winform,插入 dataGridView1控件,2,新建一个 D:\测试文档.xlsx文档,标题列为class  Test的内容 程序运行时,会读取文件保存文件,可以......
  • c#读取csv文件的内容
    privatestaticList<Test>OpenExcel(stringpath){varrecords=newList<Test>{};using(varreader=newStreamReader(pat......
  • net中c#如何发送邮件?推荐Aspose.Network组件
    net中c#想实现邮件的操作,推荐使用Aspose.Network组件。需要注意的是,这个组件名字现在改成Aspose.Email了,但我们这里用的还是旧版本(博客结尾提供DLL文件下载)传送门net中c#......
  • MySQL高可用复制管理工具 —— Orchestrator简介及基本搭建
    1、背景 Orchestrator(orch):go编写的MySQL高可用性和复制拓扑管理工具,支持复制拓扑结构的调整,自动故障转移和手动主从切换等。后端数据库用MySQL或SQLite存储元数据,并提供W......
  • 利用canvas合并两个海报
    图片1是个海报,图片2是个二维码,把这个二维码镶嵌到图片1的指定位置上functiondrawAndShareImage(opt,cb){if(!opt){console.error('没有图片');return......
  • archery SQL审核平台
    archerySQL审核平台项目位置:https://github.com/hhyo/archery背景SQL审核是对MySQL语句写法的统一化,标准化,避免因为SQL的不规范、语法错误等导致出现误删、误更新数据......
  • [element-ui] el-date-picker a-range-picker type=“daterange“ rules 校验
    <el-formclass="pl13":rules="rules"ref="ruleForm":model="searchKey"><el-form-itemprop="daterange"><el-date-pickerv-model="value1"......
  • [vue] watch对比computed
    文章目录​​computed计算属性实现姓名案例​​​​watch监视实现姓名案例​​​​对比​​​​姓名案例新需求时使用watch法​​​​computed和Iwatch之间的区别:​​compu......
  • MySQL高可用工具Orchestrator:复制拓扑的发现
    1、orchestrator如何去发现mysql实例这个涉及到两个参数:HostnameResolveMethod和MySQLHostnameResolveMethodHostnameResolveMethod的值有三个选项:  "cname":通过c......
  • 搜遍全网,终于找到了报表自动化的最佳工具,比Excel好用10倍!
    工作快十年了,最开始是在华为做报表,后来去了美团从事大数据和平台方面的工作,现在在国企干了快三年。辗转各大企业的IT部门,最明显的感知就是企业间数字化程度差距太大了。就从......