邮件发送功能开发

作为一名.Net开发,"邮件发送"功能的开发和使用是必须要掌握的,因为这个功能作为“消息推送”的一种手段经常出现在各种.Net系统中,所以本文将对.Net平台下的“邮件发送”,做一个细致的分析!

一、who需要邮件功能

1、服务提供方:需提供邮件收发客户端或Web服务。如:QQ邮箱、GMail邮箱、126、163等知名邮件服务提供商。注:如果你使用的第三方不知名邮件服务商提供的邮件收发服务,通过其发出的邮件,可能会被其他知名邮件服务提供商的STMP服务器视为是"恶意邮件或垃圾邮件"!

2、消息推送:消息推送方

3、App:某些网站会员的注册功能或者功能激活功能。

等等....

二、邮件协议

1、SMTP(Simple Mail Transfer Protocol)   ---简单邮件传输协议

它是一组用于源地址到目的地址传送邮件的规则,由它来控制信件的中转方式SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或者中转信件时找到下一个地址。通过SMTP协议指定的服务器地址,就可以把E-Mail寄到指定的收件人的服务器上了.整个过程只需要几分钟.它使用由TCP提供的可靠的数据传输服务把邮件消息从发信人的邮件服务器传送到收信人的邮件服务器。

注:SMTP服务器是遵循SMTP协议的发送邮件,用来发送或者中转发出的邮件。

详细请参考百度百科

2、POP3(Post Office Protocol -Version3)   ---邮局协议第三个版本

它是TCP/IP协议中的一员,由RFC1939 定义,这个协议主要支持客户端远程管理在服务器上的电子邮件。注:提供了SSL加密的POP3协议被称为POP3S.

注:POP协议支持"离线"邮件处理。其具体过程是:邮件发送到服务器上,电子邮件客户端调用邮件客户程序用来连接服务端,并下载所有未阅读的电子邮件。这种离线模式称为存储转发模式,将邮件从服务器从邮件服务器送到个人终端上,一般是PC机或者MAC,一旦邮件发送到PC或者MAC上,存储在服务器上的邮件会立刻被删除,但目前的POP3邮件服务器都可以"只下载邮件,服务器端并不删除.",也就是改进的POP3协议.OP适用于C/S结构的脱机模型的电子邮件协议,目前已发展POP3到第三版,称POP3。脱机模型即不能在线操作,POP不支持对服务器邮件进行扩展操作,此过程需要更高级的IMAP4协议来完成。支持POP协议使用ASCII码来传输数据消息,这些数据消息可以是指令,也可以是应答。

详细请参考百度百科

3、IMAP4(Internet Message Acess Protocol -Version4)   ---交互式数据消息访问协议第四个版本

IMAP协议是由斯坦福大学的Mark Crispin教授在1986年开发的,后期版本是华盛顿州立大学进行开发的,IMAP4是TCP/IP协议族中的一员,现在的版本是“IMAP第四版第一次修订版”(IMAP4rev1)。IMAP4协议与POP3协议一样也是规定个人计算机如何访问网上的邮件的服务器进行收发邮件的协议,但是IMAP4协议同POP3协议相比更高级。IMAP4支持协议客户机在线或者离开访问并阅读服务器上的邮件,还能交互式的操作服务器上的邮件。IMAP4协议更人性化的地方是不需要像POP3协议那样把邮件下载到本地,用户可以通过客户端直接对服务器上的邮件进行操作(这里的操作是指:在线阅读邮件 在线查看邮件主题 大小 发件地址等信息)。用户还可以在服务器上维护自己邮件目录(维护是指移动)新建 删除重命名共享 抓取文本 等操作)。IMAP4协议弥补了POP3协议的很多缺陷,,由RFC3501定义。本协议是用于客户机远程访问服务器电子邮件,它是邮件传输协议新的标准。

详细请参考百度百科

三、邮箱分类

现阶段的邮箱主要有以下几种:免费邮箱、vip邮箱、域名邮箱、企业邮箱.......。

1、免费邮箱

“免费邮箱”是邮件商家为任何人免费提供的电子邮件传输服务,作为交换,该网站上你请求电子邮件服务和一些个人信息的地方会显示广告。它更适合个人生活和娱乐的需要,却并非那么注重邮箱的安全和功能。

部分免费邮件SMTP服务器参考设置:


Email类型


SMTP[Host]主服务器


Port[端口号]


是否可启用SSL


Gmail(Google 的网络邮件服务)


smtp.gmail.com


587


True


HotMail/Live


smtp.live.com


25


True


QQ/FoxMail(Foxmail被腾讯收购)


smtp.qq.com


25


False


126(网易)


smtp.126.com


25


False


163(网易)


smtp.163.com


25


False


Sina(新浪邮箱)


smtp.sina.com


25


False


Tom


smtp.tom.com


25


False


SoHu(搜狐邮箱)


smtp.sohu.com


25


False


Yahoo(雅虎邮箱)(已关闭)


smtp.mail.yahoo.com


25


False

2、vip邮箱

“vip邮箱”即邮件商家提供的收费版邮件服务,在速度、安全、稳定性、容量、附件大小限制、群发数等方面相对好些。其SMTP服务器设置就是多了个vip字符。eg:smtp.vip.qq.com。邮箱地址:[email protected]。

3、域名邮箱

“域名邮箱”是个性化邮件服务,能让您用自己的域名做为后缀即“@自己的域名”,前提是你需要一个域名(通常域名要收费)。功能比免费邮箱要多:可分配单个邮箱、规划容量、更加的安全、更好的稳定性、个性化名称、邮件发送量更大、附件大小限制等等。

4、企业邮箱

“企业邮箱”是域名邮箱,但通常是指通过付费方式获得更好服务的邮箱。eg:您公司域名为www.abc.com,则SMTP服务器为:mail.abc.com,邮箱地址:[email protected];

使用企业邮箱的优势:

1)         提升公司企业形象、邮箱稳定性、邮箱反垃圾反病毒性能、邮件收发速度;

2)         通过购买服务,能适应企业不断升级需求;

3)         为员工分配(域名)企业邮箱,便于将流动员工所有业务联系保留和延续下来;

4)         监控邮件(实际为邮件暗抄送功能),以防公司的机密和重要信息流失;

5)         获得高性能邮件海外转发功能,解决国际高效邮件收发、邮件营销有效投递等问题;

6)         出站电子邮件过滤,比如:敏感字过滤、基于政策邮件加密等等;

7)         等等。

四、.Net提供的关于邮件的类库

在.Net2.0之前的版本,使用System.Web.Mail发送邮件,在2.0之后的版本,使用System.Net.Mail来发送邮件.2.0之后的版本主要用到了.Net2.0之后新增的两个类,分别是System.Net.Mail.MailMessage和System.Net.Mail.SmtpClient两个类,在SMTP身份验证方面用到了System.Net.NetworkCredential类。

1、MailMessage

时间: 2025-01-02 17:40:11

邮件发送功能开发的相关文章

.NET开发邮件发送功能的全面教程(含邮件组件源码)

ref: http://www.cnblogs.com/heyuquan/p/net-batch-mail-send-async.html 今天,给大家分享的是如何在.NET平台中开发"邮件发送"功能.在网上搜的到的各种资料一般都介绍的比较简单,那今天我想比较细的整理介绍下: 1)         邮件基础理论知识 2)         邮件发送相关.NET类库 3)         介绍我开发的一个发送邮件的小组件(MailHelper) 4)         MailHelper组

ThinkPHP中邮件发送功能

初次使用thinkphp框架,开发一个邮件发送功能,由于对框架不熟悉折腾了几个小时终于成功了,以下是代码记录. 此函数只能在ThinkPHP中使用且需要phpmailer扩展的支持:phpmail的下载地址:https://code.google.com/a/apache-extras.org/p/phpmailer 将phpmailer解压后放置扩展放置到第三方类库扩展目录下: ThinkPHP/Extend/Vendor/文件夹下即可,并使用vendor方法来导入.更详细介绍参考:http:

redmine邮件发送功能配置详解

redmine的邮件发送功能还是很有用的. 像项目有更新啦,任务分配啦,都能邮件发送的相关责任人. 我自己在linux服务器上安装并启动了redmine后,邮件一直发送了不了. 查了网上的资料,都是讲修改下配置文件就可以了,他们没错,只是没有讲全. 下面是我整理的一个redmine邮件发送功能设置的一个完整流程. 1. sendmail安装与检查 linux机器上安装的redmine要能发送邮件,先得是本机的sendmail功能是正常的. 查看sendmail进程是否已正常启动: $ ps au

用ASP.NET Core 1.0中实现邮件发送功能-阿里云邮件推送篇

在上篇中用MailKit实现了Asp.net core 邮件发送功能,但一直未解决阿里云邮件推送问题,提交工单一开始的回复不尽如人意,比如您的网络问题,您的用户名密码不正确等,但继续沟通下阿里云客户还是很耐心的. 最终结论,是由于MailKit发送了两次EHLO命令,查看了MailKit源码后竟然发现,里面写了硬编码: if (host != "smtp.strato.de" && host != "smtp.sina.com") Ehlo (can

C#实现简单的邮件发送功能

唉,最近要做一个项目,里面需要实现邮件发送功能.在网络上也找一些看,自己也随便写下.也当做是给自己复习下吧,如有不对之处还请大家指出.谢谢! 首先我是创建一个实体对象Model (EmailParameterSet) : 1 public class EmailParameterSet 2 { 3 /// <summary> 4 /// 收件人的邮件地址 5 /// </summary> 6 public string ConsigneeAddress { get; set; }

Swift - 邮件发送功能的实现

使用MessageUI.framework框架除了可以发送短信,还能发送Email,步骤如下: (1)首先判断设备是否有发送邮件功能 (2)如果设备允许发送邮件,创建一个MFMailComposeViewController视图控制器,并对其设置邮件标题,正文内容,收件人,附件等. (3)邮件发送后,会执行回调代理方法,可以获取发送结果(成功,失败或取消) 效果图如下: 代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

xampp 和thinkphp 建一个本地站并实现邮件发送功能

一.xampp的安装使用 1.首先看下什么是xampp,想要建站的小伙伴肯定都知道,XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建 XAMPP 软件站集成软件包. 它可以在Windows.Linux.Solaris.Mac OS X 等多种操作系统下安装使用 2.需要什么版本到官网上下载:xampp下载 3.安装很简单,傻瓜式安装,感觉mysql选项可以去掉,自己安装一个,具体安装看这个:mysql安装,另外路径建议只改动盘符,保留后缀路径 4.安装好的目录如下 5.

linux 配置邮件发送功能

1.mutt+msmtp的安装 默认情况下smokeping发送邮件使用sendmail,但是sendmail配置起来真心不是一般的麻烦,而且也没有必要,完全大材小用了,所以我就想用mutt+msmtp的方案来发送告警邮件. 首先安装mutt和msmtp这两个软件. 如果是在在线安装,那么直接apt-get install就好了,会自动帮助我们安装关联包. 如果是在离线环境下,我们可以先在有线环境下安装.然后再将用到的安装包拷贝的离线环境下安装(这是因为使用apt-get install会将所有

Spring Boot 2.0 图文教程 | 集成邮件发送功能

文章首发自个人微信公众号: 小哈学Java 个人网站: https://www.exception.site/springboot/spring-boots-send-mail 大家好,后续会间断地奉上一些 Spring Boot 2.x 相关的博文,包括 Spring Boot 2.x 教程和 Spring Boot 2.x 新特性教程相关,如 WebFlux 等.还有自定义 Starter 组件的进阶教程,比如:如何封装一个自定义图床 Starter 启动器(支持上传到服务器内部,阿里 OS