1、收件人邮箱的准确性
用户书写收件人邮箱名的时候笔误,也就是对方的邮箱名不可用,造成投递失败。用户书写收件人邮箱名时“@”后面的文字部分,也就是域名不可用,造成投递失败。
2、由于某种规则限制
发信规则的触犯。比如一次性发送邮件的接收人过多、接收人邮箱容量已满、发送的邮件太大、信件内容触及某项过滤规则、发送太频繁而超过额定被限制等。
3、网络环境或硬件问题
网络之间通信不顺畅,导致邮件无法投递。服务器系统错误或死机,导致邮件无法投递。
扩展资料
在邮件服务器及网络正常、客户端网络也正常、没有收发超大型的文件(如50M以上等)的前提下,出现收发邮件慢,主要是由防病毒软件的电子邮件扫描或监控功能造成的,通常还会报“0x800CCC0D,0x800CCC0E,0x800CCC0F”的错误代码;
此时,你只要关闭及禁用防病毒软件的电子邮件扫描功能,基本上就可以解决。从经验看,安装有Norton、瑞星、mcafee等都会出现收发邮件慢的情况,只需要禁用防病毒软件的电子邮件扫描功能,问题便不再发生。
温馨提示:若是使用的免费邮箱,个人建议不要关闭邮件病毒的扫描功能。若是使用的企业邮箱,一般可以放心禁用杀毒软件上的邮件扫描方面的功能,通常企业邮箱服务器内置高效邮件病毒软件,不必担心会因邮件而使电脑中毒。
参考资料:
1SMTP协议
用户连上邮件服务器后,要想给它发送一封电子邮件,需要遵循一定的通迅规则,SMTP协议就是用于定义这种通讯规则的。
因而,通常我们也把处理用户smtp请求(邮件发送请求)的邮件服务器称之为SMTP服务器。(25)
2POP3协议
同样,用户若想从邮件服务器管理的电子邮箱中接收一封电子邮件的话,他连上邮件服务器后,也需要遵循一定的通迅格式,POP3协议用于定义这种通讯格式。
因而,通常我们也把处理用户pop3请求(邮件接收请求)的邮件服务器称之为POP3服务器。(110)
下图用于演示两帐户相互发送邮件的过程
31JavaMail API按其功能划分通常可分为如下三大类:
创建和解析邮件内容的API :Message类是创建和解析邮件的核心API,它的实例对象代表一封电子邮件。
32发送邮件的API:Transport类是发送邮件的核心API类,它的实例对象代表实现了某个邮件发送协议的邮件发送对象,例如SMTP协议。
接收邮件的API:Store类是接收邮件的核心API类,它的实例对象代表实现了某个邮件接收协议的邮件接收对象,例如POP3协议。
33Session类
Session类用于定义整个应用程序所需的环境信息,以及收集客户端与邮件服务器建立网络连接的会话信息,如邮件服务器的主机名、端口号、采用的邮件发送和接收协议等。Session对象根据这些信息构建用于邮件收发的Transport和Store对象,以及为客户端创建Message对象时提供信息支持。
4邮件组织结构相关的API
MimeMessage类表示整封邮件。
MimeBodyPart类表示邮件的一个MIME消息。
MimeMultipart类表示一个由多个MIME消息组合成的组合MIME消息。
5具体的例子程序
package cnedudlmusend;import javautilProperties;
import javaxactivationDataHandler;
import javaxactivationFileDataSource;
import javaxmailMessage;
import javaxmailSession;
import javaxmailTransport;
import javaxmailinternetInternetAddress;
import javaxmailinternetMimeBodyPart;
import javaxmailinternetMimeMessage;
import javaxmailinternetMimeMultipart;
import javaxmailinternetMimeUtility;
public class SendMail {
public static void main(String[] args) throws Exception {
Properties prop = new Properties();
//连接的邮件服务器的主机名
propsetProperty("mailsmtphost", "smtpsinacomcn");
//发送邮件的协议
propsetProperty("mailtransportprotocol", "smtp");
//是否向邮件服务器提交认证
propsetProperty("mailsmtpauth", "true");
//创建session
Session session = SessiongetInstance(prop);
sessionsetDebug(true);
//得到transport
Transport ts = sessiongetTransport();
//连接邮件服务器
tsconnect("smtpsinacomcn", "xxxx@sinacom", "xxxxx");
//发送邮件
MimeMessage message = createMessage(session);
tssendMessage(message, messagegetAllRecipients());
tsclose();
}
public static MimeMessage createMessage(Session session) throws Exception {
MimeMessage message = new MimeMessage(session);
//设置邮件的基本信息
messagesetFrom(new InternetAddress("xxxx@sinacom"));
messagesetRecipient(MessageRecipientTypeTO, new InternetAddress("1219070362@qqcom"));
messagesetSubject("test");
//正文
MimeBodyPart text = new MimeBodyPart();
//设置charaset可以解决中文正文的乱码问题,内嵌可下载的
textsetContent("你好xxx,<img src='c:/dogjpg' />测试成功!<br/><img src='cid:aaajpg' />", "text/html;charset=gbk");
//1
MimeBodyPart image = new MimeBodyPart();
imagesetDataHandler(new DataHandler(new FileDataSource("src/88jpg")));
imagesetContentID("aaajpg");
//附件
MimeBodyPart attach = new MimeBodyPart();
DataHandler dh = new DataHandler(new FileDataSource("src/javamail架包jar"));
attachsetDataHandler(dh);
//解决文件中文乱码问题
attachsetFileName(MimeUtilityencodeText(dhgetName()));
//描述正文和的关系
MimeMultipart mp = new MimeMultipart();
mpaddBodyPart(text);
mpaddBodyPart(image);
mpsetSubType("related");
//描述正文和附件
MimeMultipart mp2 = new MimeMultipart();
mp2addBodyPart(attach);
//将正文封装为一个body
MimeBodyPart content = new MimeBodyPart();
contentsetContent(mp);
mp2addBodyPart(content);
mp2setSubType("mixed");
messagesetContent(mp2);
messagesaveChanges();
return message;
}
}
配置一个邮件发送的服务器的具体步骤如下:
1、首先打开Win Server 2003系统的电脑,点击开始菜单——管理工具——配置您的服务器向导。
2、然后在d出的页面中,点击下一步——自定义配置——下一步——找到邮件服务器——下一步。
3、当点击完下一步的时候,会叫你输入“电子邮件域名”,在这里写上自己想要的域名即:XXXXXX@baiducom的邮箱,你就输入baiducom,找到自己的镜像文件位置或者安装邮件服务器文件服务器的位置就可以安装了,稍等一会儿即可安装成功。
4、安装完成,点击开始菜单——管理工具——POP3服务,在自己的电子邮件域名中添加邮箱即可。
网络问题,或是你的邮件太大。对方电脑与服务器连接时,因网速缓慢或连接中断令邮件下载后未及清除的,在再次连接时会重新下载,如事者重复N次,直到邮件从服务器上成功清除为止。上网打开邮箱把它手动删除或移动到不须同步的文件夹就是欢迎分享,转载请注明来源:内存溢出
评论列表(0条)