最近一直折腾着某些邮箱无法发送成功的事情,对于邮件的各方面的知识学习了一下。现在整理一下方面自己或者别人学习。
首先用的是JavaMail发送邮件的,所以先收藏下JavaMail API
既然打算用SMTP协议发邮件,那么先得分析下SMTP协议,以及有关Email邮件头的知识,还有最基础的邮件/域名/DNS的相关知识。
一般主要用的MTA(Mail Transfer Agent)软件有:PostFix,SendMail,QMail,Coremail,Exchange,Lotus Domino。
其中PostFix,SendMail,QMail适用于Linux或者Unix系统服务器下使用,Exchange,Lotus Domino适用于大型企业。另外对于小企业,特别是window系统下,WinMail,WinWebMail,MuseMail比较适合,当然了,MTA软件有很多,具体看需要来选择。WinMail的smtp配置大概是这样子的。
比较烦恼的是你通过MTA软件架构一个独立的邮件服务器之后,发送邮件之后就会碰到邮件发送不成功的问题,这时候就需要通过日志,退信,或者抓包工具分析原因啦。先了解下Email发送失败的原因,再对应查看下国内常用的smtp服务器错误代码,WinMail退信大全,找到发送错误的代码,从而进一步采取措施。
如何使你发送的邮件不会成为垃圾邮件呢?之前我真没去了解垃圾邮件的概念,现在通过查资料已经了解一二啦。
垃圾邮件在中国的定义主要有这两种:
垃圾邮件的定义:
中国电信对垃圾邮件的定义
“向未主动请求的用户发送的电子邮件广告、刊物或其他资料;没有明确的退信方法、发信人、回信地址等的邮件;利用中国电信的网络从事违反其他ISP的安全策略或服务条款的行为;其它预计会导致投诉的邮件。”
中国互联网协会对垃圾邮件的定义
“本规范所称垃圾邮件,包括下述属性的电子邮件:
(一)收件人事先没有提出要求或者同意接收的广告、电子刊物、各种形式的宣传品等宣传性的电子邮件;
(二)收件人无法拒收的电子邮件;
(三)隐藏发件人身份、地址、标题等信息的电子邮件;
(四)含有虚假的信息源、发件人、路由等信息的电子邮件。”
反垃圾邮件和防止邮件被当成垃圾邮件都需要先应该读懂Email邮件头。最好读下电子邮件的标准格式。从这些信件头信息中可以收获一些有用的信息。
另外像SPF,DKIM这些东西也要了解了下。下面就是些不错的资料
关于SPF记录
给域名添加SPF记录
DKIM技术
感觉这个邮件深入研究下去自己需要学习的东西太多啦,自己学习这个目的是为了解决工作中的问题,先放一放,有深入的机会再去钻研。下面是三个有关邮箱,邮件这方面的专业网站,自己很多信息都是来源于此的。
中国邮箱网
邮件技术资讯网
邮件十万个为什么
分享到:
相关推荐
在"QT利用SMTP发送邮件Demo"项目中,我们将深入探讨如何使用QT来实现通过SMTP(Simple Mail Transfer Protocol)发送电子邮件的功能。这个Demo适用于163和Sina邮箱,这意味着它已经成功地处理了这些服务商特定的身份...
利用smtp发送邮件php
用php发送邮件,php发送邮件接口,需要自己改里面的配置文件
这是利用smtp服务器发送邮件的一个类,经过测试可用,如果不太了解使用方法,可参考我的博客文章进行使用。
总的来说,利用SMTP在VC++中实现邮件发送涉及网络编程、邮件格式、SMTP协议和可能的安全加密。通过理解这些概念,结合适当的库和API,可以构建一个功能完善的邮件发送程序。然而,由于不支持设置代理和附件,这可能...
在本文中,我们将深入探讨如何使用Visual Studio 2015 C++ Win32应用程序通过SMTP(Simple Mail Transfer Protocol)发送邮件,特别是针对Gmail、163、QQ和Yahoo等主流邮件服务提供商。这个例子提供了完整的源代码,...
最近老是收到垃圾邮件,那个叫什么400电话申请之类的,我都到他们网站上找客服反应了,他们还是乐此不疲每天都能收到他们这个经理那个老师的邮件我非常气愤,于是我就做了一个这个小工具我!我!我!只要收到一个邮件...
Java SMTP 发送邮件是Java开发中常见的功能,用于在应用程序中...总的来说,Java SMTP发送邮件涉及JavaMail API的使用,SMTP服务器的配置,以及邮件内容的构建。理解这些知识点,就能轻松地在Java项目中实现邮件功能。
在C++中,实现SMTP发送邮件通常需要一个库来处理网络通信和SMTP协议细节。在这个案例中,文件名"CSMTP_SSL"可能是一个C++库,用于支持SSL/TLS加密的安全SMTP通信。SSL(Secure Sockets Layer)和其继任者TLS...
在本示例中,我们将探讨如何使用PHP通过SMTP发送邮件。 首先,我们来看`email.class.php`文件。这个文件通常包含一个PHP类,用于封装邮件发送的功能。这个类可能会有一个构造函数,用来设置SMTP服务器的地址、端口...
SMTP测试工具是用于验证计算机是否能够通过SMTP服务器成功发送邮件的应用程序。这样的工具对于排查邮件发送问题、配置验证以及诊断网络连接问题非常有用。 SMTP测试邮件发送工具的核心功能包括: 1. **服务器配置...
在给出的代码示例中,展示了如何通过SMTP发送邮件的完整过程。 首先,代码创建了一个`Socket`对象,连接到SMTP服务器(这里是`smtp.qq.com`)的25号端口。SMTP服务器通常监听这个端口以接收邮件传输请求。然后,...
总结起来,【VC SMTP邮件发送程序】是一个利用SMTP协议发送邮件的应用,核心代码位于`SMTP.h`和`SMTP.cpp`中,用户可以通过配置或者界面输入信息,实现邮件的发送。不论是在VS2008还是VC6.0环境下,都可以利用这些...
通过这个示例,你可以了解如何在实际项目中集成PHPMailer库,实现通过SMTP发送邮件的功能。记得在实际使用中,确保SMTP服务器的安全设置,如使用安全的连接方式(如SSL/TLS)以及正确处理密码存储,以防止敏感信息...
描述中提到了一个sample,这可能是一个简单的示例项目,演示如何集成和使用SMTP发送邮件。在这个名为"MailComposer"的子文件中,可能包含了实现邮件发送的主要代码。通常,这样的示例会包含以下步骤: 1. **安装库*...
SMTP主要用于在邮件服务器之间传输邮件,而发送邮件涉及到的主要步骤包括:连接到SMTP服务器、验证身份、创建邮件内容、添加附件(如果有的话)、发送邮件以及最后的断开连接。在C++中,我们通常会使用库来简化这些...
标题“PHP smtp发送邮件类”指的是一种利用PHP编程实现的SMTP邮件发送类,这个类通常包含了一系列方法,用于设置SMTP服务器信息、身份验证、构建邮件头和正文等,以完成邮件的发送过程。这种类的优点在于可以自定义...
本文将详细介绍如何利用SMTP(Simple Mail Transfer Protocol)协议在Visual C++中实现邮件发送,并支持添加附件。 首先,SMTP是互联网上用于传输电子邮件的标准协议。它规定了邮件服务器之间交换邮件的规则,允许...
在C++中实现SMTP发送邮件,你需要包含必要的网络库,如`<iostream>`、`<string>`、`<sstream>`以及`<netdb.h>`和`<sys/socket.h>`(用于处理套接字)。同时,可能还需要第三方库,如libcurl,它提供了一套方便的接口...