• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > asp.net实现的群发邮件功能详解

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

作者:晓镜水月 字体:[增加 减小] 来源:互联网 时间:2018-08-20

晓镜水月 通过本文主要向大家介绍了asp.net,群发,邮件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了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程序设计有所帮助。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Asp.net SignalR 应用并实现群聊功能 开源代码
  • asp.net动态更新
  • asp.net利用母版制作页脚效果
  • Asp.Net服务器发送HTTP标头后无法设置内容类型的问题解决
  • 使用asp.net mvc,boostrap及knockout.js开发微信自定义菜单编辑工具(推荐)
  • 详解ASP.NET MVC 常用扩展点:过滤器、模型绑定
  • ASP.NET Core发送邮件的方法
  • 在ASP.NET Core 中发送邮件的实现方法(必看篇)
  • ASP.NET MVC从视图传参到控制器的几种形式
  • Asp.net core WebApi 使用Swagger生成帮助页实例

相关文章

  • 2017-05-11asp.net 相关文章实现方法第1/2页
  • 2017-05-11asp.net 序列化and反序列化演示
  • 2017-05-11asp.net 支持多语言站点的实现方法
  • 2017-05-11Bat自动解压缩发布asp.net程序
  • 2017-05-11.net重启iis线程池和iis站点程序代码分享
  • 2017-05-11解决 ASP.NET中目录访问权限的问题
  • 2017-05-11ASP.NET使用gridview获取当前行的索引值
  • 2018-08-20VS2017 安装打包插件的图文教程
  • 2017-05-11asp.net如何进行mvc异步查询
  • 2017-05-11ASP.NET Web API教程 创建Admin控制器实例分享

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • ASP.NET OutputCache详解
    • ASP.NET 防止按钮多次提交核心实现代码
    • ASP.NET性能优化之构建自定义文件缓存
    • 使用linq读取分隔符文本文件
    • asp.net 从客户端中检测到有潜在危险的 Request.Form 值错误解
    • Asp.Net生成静态页面的实现方法
    • 在ASP.NET 2.0中操作数据之二十七:创建自定义排序用户界面
    • ASP.NET的HtmlForm控件学习及Post与Get的区别概述
    • ASP.NET中的URL过滤实现代码
    • asp.net使用Repeater控件中的全选进行批量操作实例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有