目录:

一、概述

二、MX设置

三、使用系统的SMTP功能发邮件

四、使用hMailServer收发邮件

五、Web邮件客户端

一、概述

首先必须清楚SMTP才是提供邮件服务器的核心,收发邮件全靠SMTP。不信你关掉hMailServer的POP3和IMAP,服务器照样可以收发邮件。POP3和IMAP只是邮件服务器实现的用于提供邮件客户端收取和管理邮件的两种协议,其中POP3协议只能收取服务器上的邮件,而IMAP协议可供客户端管理服务器上的邮件。目前几乎所有的第三方服务器的SMTP都限制了发送配额等各种限制,并且几乎所有的邮件服务器都会检测发送方的域名和IP是否匹配。简单说就是别用第三方的进行测试,也别用自建的locahost发邮件测试,到底怎么测试呢?在非服务器环境下的邮件发送测试,有3种方案:

(1)模拟邮件的发送,不真正发送邮件。把邮件发送的内容写到日志文件等。

(2)模拟邮件的接收。使用localhost的SMTP发送邮件。使用SMTP4DEV等拦截接收邮件,配合windows live mail和Windows MBox Viewer等可以读取eml格式的客户端,可以得到正确格式的邮件,收件方不会接收到邮件。

(3)在有域名和服务器可用的前提下,设置域名MX并搭建邮件服务器,通过邮件服务器的SMTP进行邮件的实际发送。可以通过收件方服务器的域名IP检测,但要配置好安全措施防止邮件服务器被利用。

发送邮件可以使用Windows Server 2008+的系统的SMTP功能,但没有提供对POP3和IMAP协议的系统支持,因此无法使用客户端访问邮件服务器。

如果我们希望使用客户端访问邮件服务器,在Windows Server 2008+环境下和开源免费的前提下,目前最好的选择就是hMailServer。如果你打算切换到hMailServer,一定要记得停用系统的SMTP服务。否则hMailServer无法监听SMTP端口,就无法接收到邮件。

二、MX设置

MX设置的参考如下,在域名解析中配置:

在服务上检查MX设置:

三、使用系统的SMTP功能发邮件:

以Windows Server 2008为例,SMTP功能的安装和服务的设置比较简单,这里省略。

1.域名配置:

首先是域名:在传递—>高级中 设置

2.IP配置

3.通过.NET发送邮件:
web.config配置:

发送代码:

四、使用hMailServer收发邮件:

hMailServer的安装和汉化自行搞定。这里一定要记住,使用hMailServer必须同时使用SMTP和POP3,并且停止系统自带的SMTP服务,否则无法接收邮件。
1.添加域名:
2.添加账号:
3.配置邮件递交:
4.绑定IP:
5.配置IP范围:
图中的Auto-ban是由于我的密码过于简单并且在测试时的失败造成hMailServer自动屏蔽了服务器的IP,因此需要对该条限制进行配置。其他情况下不需要这个步骤。
6.测试配置:

五、Web邮件客户端

客户端收发邮件可以采用CS模式的等BS模式的Web邮箱提供的代收功能接收邮件。hMailserver提供了邮件服务器的发送和接收邮件功能,并同时提供POP3和IMAP协议的支持。开源免费的Web邮件客户端,非.NET的Web邮件客户端实现较多,常用的如PHP的SquirrelMail和RoundCube。.NET下的Web邮件客户端少的可怜,但实现相关收取协议组件库还是不缺的。有时候需要在后台中集成邮件的管理功能,可以直接使用这些组件,如ImapX等。
1.集成邮件列表功能:
2.标记已读未读:
3.删除邮件:
4.界面参考:
发送邮件和回复邮件涉及到通讯录、草稿和附件等要相对复杂一些,看需求是否有必要集成完整的功能,毕竟组件库已经提供了完整的功能,我们只需要对其包装和调用,配合界面操作就可以了,其中构建一个完善的支持Ajax的Web客户端界面的难点不在后台实现上,而在前台,与主题关系不大。有兴趣的可以自己实现。
 
 

ASP.NET:邮件服务器与客户端的更多相关文章

  1. WinMail邮件服务器(客户端)环境搭建与配置

    WinMail邮件服务器(客户端)环境搭建与配置      一.在搭建WinMail邮件服务器(客户端)之前必备            (1).在虚拟机上安装两个干净无毒的操作系统          ...

  2. asp.net 获取服务器及客户端的相关信息

    1. 在ASP.NET中专用属性:获取服务器电脑名:Page.Server.ManchineName获取用户信息:Page.User获取客户端电脑名:Page.Request.UserHostName ...

  3. Asp.Net Core采用MailKit部署到Linux Docker连接邮件服务器报错

    前段时间看文章了解到发邮件的SmtpClient已经过时了,微软官方推荐大家用其他解决方案,例如MailKit. https://docs.microsoft.com/zh-cn/dotnet/api ...

  4. C#调用接口注意要点 socket,模拟服务器、客户端通信 在ASP.NET Core中构建路由的5种方法

    C#调用接口注意要点   在用C#调用接口的时候,遇到需要通过调用登录接口才能调用其他的接口,因为在其他的接口需要在登录的状态下保存Cookie值才能有权限调用, 所以首先需要通过调用登录接口来保存c ...

  5. 基于asp.net MVC 的服务器和客户端的交互(一)

    架构思想 三层架构 提出了一种基于ASP.NET开发方式的三层架构的Web应用系统构造思想.其基本内容是:将面向对象的UML建模与Web应用系统开发 相结合,将整个系统分成适合ASP.NET开发方式的 ...

  6. Ajax跨域问题及解决方案 asp.net core 系列之允许跨越访问(Enable Cross-Origin Requests:CORS) c#中的Cache缓存技术 C#中的Cookie C#串口扫描枪的简单实现 c#Socket服务器与客户端的开发(2)

    Ajax跨域问题及解决方案   目录 复现Ajax跨域问题 Ajax跨域介绍 Ajax跨域解决方案 一. 在服务端添加响应头Access-Control-Allow-Origin 二. 使用JSONP ...

  7. ASP.NET 邮件发送

    ASP.NET 邮件发送用NET的MAIL类即可实现. 邮件发时,为不影响进程,所以采用多线程实现比较好. /// <summary> /// 多线程邮件发送 多线程需注意不要引用到外部方 ...

  8. 烂泥:Postfix邮件服务器搭建之软件安装与配置

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb Postfix邮件服务器的搭建需要使用到几个软件,分别是cyrus-sasl.postf ...

  9. 烂泥:Postfix邮件服务器搭建之虚拟用户配置

    virtual_gid_maps = static: virtual_transport = dovecot dovecot_destination_recipient_limit = 1 注意:po ...

随机推荐

  1. DllMain 用法

    1.1  DllMain简介 跟exe有个main或者WinMain入口函数一样,DLL也有一个入口函数,就是DllMain.以“DllMain”为关键字,来看看MSDN帮助文档怎么介绍这个函数的.  ...

  2. Mac上如何把图片中的文字转换成word/pdf文字

    如何把图片文字转换成word文字? - 知乎 https://www.zhihu.com/question/25488536 在 OneNote for Mac 中插入的圖片複製文字 - OneNot ...

  3. new 运算符干了什么

    为了追本溯源, 我顺便研究了new运算符具体干了什么?发现其实很简单,就干了三件事情. var obj = {}; obj.__proto__ = F.prototype; F.call(obj); ...

  4. VCF文件导入导出

    参考资料 通讯录导入导出vcf格式文件方法可参考: https://qiaodahai.com/android-iphone-mobile-phones-contacts-import-and-exp ...

  5. tensorflow-eagerAPI

    调用该API可以不通过 tensorflow.Session.run()调用 定义的张量constant tensor,可以直接print # -*- coding: utf-8 -*- from _ ...

  6. react之引用echarts

    react之引用echarts npm: npm install echarts --save 代码: import React, { Component } from 'react'; // 引入 ...

  7. 迷你MVVM框架 avalonjs 学习教程7、数据缓存

    jQuery的许多功能都可以通过avalon的绑定属性来处理,如click方法对应ms-click,css方法对应ms-css,toggle方法对应ms-visible,它的数据缓存功能avalon也 ...

  8. Selenium+TestNG+Maven 搭建

    Java环境配置 Eclipse配置TestNG Eclipse配置Maven pom.xml文件相关配置,添加依赖selenium和TestNg的jar包 <!-- https://mvnre ...

  9. ubuntu17.10 安装CUDA

    1. 更新apt-get源列表 sudo apt-get update sudo apt-get upgrade 2. 添加驱动源 sudo add-apt-repository ppa:graphi ...

  10. java 线程之对象的同步和异步

    一.多线程环境下的同步与异步 同步:A线程要请求某个资源,但是此资源正在被B线程使用中,因为同步机制存在,A线程请求不到,怎么办,A线程只能等待下去. package com.jalja.org.th ...