asp.net实现的群发邮件功能详解

发布时间 - 2026-01-11 01:29:12    点击率:

本文实例讲述了asp.net实现的群发邮件功能。分享给大家供大家参考,具体如下:

前段时间在帮老师开发的网站中需要用到一个群发邮件的功能,而自己之前学习cms系统的时候用的we7的群发邮件功能也有一些问题,于是乎便自己去网上查了一下资料,自己总结了一下,并且封装成了一个类,亲测有用,支持附件,希望对大家也有些帮助,我测试时用的是qq邮箱,成功的前提是要在邮箱设置中打开smtp服务功能,如qq邮箱设置里面的账户选项卡里面把需要的功能勾上:

其他邮箱的话原理一样~~~~~~

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Mail;
using System.Web;
namespace MailSend
{
  public class SendEmail
  {
    /// <summary>
    /// 群发邮件函数
    /// </summary>
    /// <param name="subject">发送的主题</param>
    /// <param name="body">发送的内容</param>
    /// <param name="email_list">收件人列表,通过|来分割开来,可以自己定义</param>
    /// <param name="File_Path">发送附件的地址,获取了路径后上传</param>
    public static void Send(string subject, string body, string email_list, string File_Path)
    {
      string MailUser = "XXX@qq.com";//我测试的是qq邮箱,其他邮箱一样的道理
      string MailPwd = "你的密码";//邮箱密码
      string MailName = "测试";
      string MailHost = "smtp.exmail.qq.com";//根据自己选择的邮箱来查询smtp的地址
      MailAddress from = new MailAddress(MailUser, MailName); //邮件的发件人
      MailMessage mail = new MailMessage();
      //设置邮件的标题
      mail.Subject = subject;
      //设置邮件的发件人
      //Pass:如果不想显示自己的邮箱地址,这里可以填符合mail格式的任意名称,真正发mail的用户不在这里设定,这个仅仅只做显示用
      mail.From = from;
      //设置邮件的收件人
      string address = "";
      //传入多个邮箱,用“|”分割开,可以自己自定义,再通过mail.To.Add()添加到列表
      string[] email = email_list.Split('|');
      foreach (string name in email)
      {
        if (name != string.Empty)
        {
          address = name;
          mail.To.Add(new MailAddress(address));
        }
      }
      //设置邮件的抄送收件人
      //这个就简单多了,如果不想快点下岗重要文件还是CC一份给领导比较好
      //mail.CC.Add(new MailAddress("Manage@hotmail.com", "尊敬的领导");
      //设置邮件的内容
      mail.Body = body;
      //设置邮件的格式
      mail.BodyEncoding = System.Text.Encoding.UTF8;
      mail.IsBodyHtml = true;
      //设置邮件的发送级别
      mail.Priority = MailPriority.Normal;
      //设置邮件的附件,将在客户端选择的附件先上传到服务器保存一个,然后加入到mail中
      if (File_Path != "")
      {
        mail.Attachments.Add(new Attachment(File_Path));
        mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess;
      }
      SmtpClient client = new SmtpClient();
      //设置用于 SMTP 事务的主机的名称,填IP地址也可以了
      client.Host = MailHost;
      //设置用于 SMTP 事务的端口,默认的是 25
      client.Port = 25;
      client.UseDefaultCredentials = false;
      //这里才是真正的邮箱登陆名和密码, 我的用户名为 MailUser ,我的密码是 MailPwd
      client.Credentials = new System.Net.NetworkCredential(MailUser, MailPwd);
      client.DeliveryMethod = SmtpDeliveryMethod.Network;
      ////如果发送失败,SMTP 服务器将发送 失败邮件告诉我
      mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
      //都定义完了,正式发送了,很是简单吧!
      client.Send(mail);
    }
  }
}

更多关于asp.net相关内容感兴趣的读者可查看本站专题:《asp.net优化技巧总结》、《asp.net字符串操作技巧汇总》、《asp.net操作XML技巧总结》、《asp.net文件操作技巧汇总》、《asp.net ajax技巧总结专题》及《asp.net缓存操作技巧总结》。

希望本文所述对大家asp.net程序设计有所帮助。


# asp.net  # 群发  # 邮件  # Asp.net发送邮件的两种方法小结  # 在asp.NET 中使用SMTP发送邮件的实现代码  # asp.net2.0实现邮件发送(测试成功)  # 在ASP.NET2.0中通过Gmail发送邮件的代码  # Asp.Net类库中发送电子邮件的代码  # 用ASP.NET做的个性化的邮件发送系统  # asp.net mvc发送邮件实例讲解  # ASP.NET MVC 5之邮件服务器与客户端  # ASP.NET Core 1.0实现邮件发送功能  # asp.net基于windows服务实现定时发送邮件的方法  # ASP.NET邮件发送system.Net.Mail案例  # 创建基于ASP.NET的SMTP邮件服务的具体方法  # 的是  # 操作技巧  # 自己的  # 也有  # 成了  # 相关内容  # 告诉我  # 多个  # 将在  # 要在  # 感兴趣  # 给大家  # 比较好  # 自定义  # 更多关于  # 送了  # 才是真正  # 只做  # 所述  # 前段时间 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  JS弹性运动实现方法分析  Linux后台任务运行方法_nohup与&使用技巧【技巧】  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  清除minerd进程的简单方法  Laravel如何使用.env文件管理环境变量?(最佳实践)  Android实现代码画虚线边框背景效果  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  如何实现javascript表单验证_正则表达式有哪些实用技巧  Laravel如何使用Blade组件和插槽?(Component代码示例)  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  如何有效防御Web建站篡改攻击?  佛山企业网站制作公司有哪些,沟通100网上服务官网?  公司网站制作价格怎么算,公司办个官网需要多少钱?  微信小程序 canvas开发实例及注意事项  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  详解jQuery中的事件  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  如何在景安服务器上快速搭建个人网站?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  如何挑选高效建站主机与优质域名?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  如何在阿里云部署织梦网站?  打开php文件提示内存不足_怎么调整php内存限制【解决方案】  网站建设保证美观性,需要考虑的几点问题!  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  Laravel集合Collection怎么用_Laravel集合常用函数详解  Laravel如何为API生成Swagger或OpenAPI文档  jquery插件bootstrapValidator表单验证详解  如何挑选最适合建站的高性能VPS主机?  郑州企业网站制作公司,郑州招聘网站有哪些?  打造顶配客厅影院,这份100寸电视推荐名单请查收  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  如何在IIS中新建站点并配置端口与IP地址?  ,怎么在广州志愿者网站注册?  在centOS 7安装mysql 5.7的详细教程  如何快速启动建站代理加盟业务?  高端企业智能建站程序:SEO优化与响应式模板定制开发  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  如何安全更换建站之星模板并保留数据?  如何在阿里云ECS服务器部署织梦CMS网站?