java mail 回复邮件_JavaMail - 退回邮件( Bounced Messages)
JavaMail - 退回邮件( Bounced Messages)
由于多种原因,可以退回邮件。 rfc1211深入讨论了这个问题。 只有服务器才能确定是否存在特定邮箱或用户名。 当服务器检测到错误时,它将向原始消息的发送方返回一条消息,指示失败的原因。
有许多Internet标准涵盖了传递状态通知,但是大量服务器不支持这些新标准,而是使用ad hoc技术来返回此类故障消息。 因此,将bounced消息与导致问题的原始消息相关联变得非常困难。
JavaMail包括对解析传递状态通知的支持。 有许多技术和启发式方法可以解决这个问题。 其中一种技术是可变包络返回路径。 您可以在信封中设置返回路径,如下例所示。 这是发送退回邮件的地址。 您可能希望将其设置为与From:标头不同的通用地址,以便处理远程反弹。 这是通过在JavaMail中设置mail.smtp.from属性来完成的。
创建Java类 (Create Java Class)
创建一个java类文件SendEmail ,其内容如下:import java.util.Properties;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class SendEmail {
public static void main(String[] args) throws Exception {
String smtpServer = "smtp.gmail.com";
int port = 587;
final String userid = "youraddress";//change accordingly
final String password = "*****";//change accordingly
String contentType = "text/html";
String subject = "test: bounce an email to a different address " +
"from the sender";
String from = "youraddress@gmail.com";
String to = "bouncer@fauxmail.com";//some invalid address
String bounceAddr = "toaddress@gmail.com";//change accordingly
String body = "Test: get message to bounce to a separate email address";
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", smtpServer);
props.put("mail.smtp.port", "587");
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.from", bounceAddr);
Session mailSession = Session.getInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(userid, password);
}
});
MimeMessage message = new MimeMessage(mailSession);
message.addFrom(InternetAddress.parse(from));
message.setRecipients(Message.RecipientType.TO, to);
message.setSubject(subject);
message.setContent(body, contentType);
Transport transport = mailSession.getTransport();
try {
System.out.println("Sending ....");
transport.connect(smtpServer, port, userid, password);
transport.sendMessage(message,
message.getRecipients(Message.RecipientType.TO));
System.out.println("Sending done ...");
} catch (Exception e) {
System.err.println("Error Sending: ");
e.printStackTrace();
}
transport.close();
}// end function main()
}
在这里我们可以看到属性mail.smtp.from的设置与from地址不同。
编译和运行 (Compile and Run)
现在我们的课已经准备好了,让我们编译上面的类。 我已将类SendEmail.java保存到目录: /home/manisha/JavaMailAPIExercise 。 我们需要在类路径中使用jars javax.mail.jar和activation.jar 。 执行以下命令从命令提示符编译类(两个jar放在/ home/manisha /目录中):javac -cp /home/manisha/activation.jar:/home/manisha/javax.mail.jar: SendEmail.java
现在编译了类,执行以下命令来运行:java -cp /home/manisha/activation.jar:/home/manisha/javax.mail.jar: SendEmail
验证输出 (Verify Output)
您应该在命令控制台上看到以下消息:Sending ....
Sending done ...
JavaMail - 配额管理( Quota Management)
java mail 回复邮件_JavaMail - 退回邮件( Bounced Messages)相关推荐
- java mail 回复邮件_JavaMail 电子邮件答复/回复
在本章中,我们将看到如何使用JavaMail API来回复电子邮件.接着在下面的程序中的列出基本步骤: 获取Session对象与POP和SMTP服务器的细节属性.我们需要POP 细节来检索信息和SMP ...
- Java实战-用Java mail实现Exchange发邮件给你喜欢的人
目录 1. 官方指导文章 2. 需要用到com.microsoft.ews-java-api 2.1 maven中添加 2.2 gradle中添加 3. 完整代码:新建一个MailUtil.java类 ...
- Java mail模板发送高级邮件(二)
Java mail模板发送高级邮件 一.见贤思齐焉 我们之前自己发的邮件,大家又没有感觉比较丑呢???毫无美感可言,只有空洞的文字,甚至连基础的排版都没有.如果这是给女娃表白的邮件,那我只能陪你一 ...
- java mail 发送邮件_JavaMail实现收发邮件——(二)发送邮件
一.导入jar包: 将mail.jar和activation.jar导入到项目中(eclipse中:点击项目名,鼠标右键-->Build Path-->Configure Build Pa ...
- java eml解析_javamail 收邮件 解析eml文件
内容来自:http://www.oschina.net/bbs/thread/528 以下代码经过测试了的能通过 我在用javaMail做收邮件时怎么邮件内容重复(一种文本格式的,一种html格式的) ...
- java mail张_javaMail操作QQ邮箱发送邮箱 Demo
最近用到想给项目中加一个功能,就是当项目中某些模块发生异常,在捕获异常后不仅仅写日志抛异常等!还要追加一个发送邮件给该模块的负责人,方便运维定位问题: maven管理的配置: javax.mail m ...
- java收发邮寄_JavaMail收发邮件的一般流程与主要方法
1.Properties属性类 Properties p = new Properties(); p.put(key, value); key-| mail.smtp.host -| mail.smt ...
- java velocity 邮件_邮件集成java mail + 读取邮件模板
项目做异地登录提醒功能,通过java mail发送邮件.读取邮件模板sendMail.vm文件. 1.邮件发送 import java.io.StringWriter; import java.uti ...
- 邮件集成java mail + 读取邮件模板
项目做异地登录提醒功能,通过java mail发送邮件.读取邮件模板sendMail.vm文件. 1.邮件发送 import java.io.StringWriter; import java.uti ...
最新文章
- 使用selenium和pyquery爬取京东商品列表
- boost::log模块实现loging到 syslog 服务器的示例
- [2017.11.11特辑]以一个光棍节表白案例浅谈ECMAScript6模块化的使用方法
- java undo_用JAVA实现Undo、Redo,Copy、Paste、Cut_java
- retrofit2.6.0_RxAndroid和Retrofit 2.0
- c malloc结构体_9.8 C++动态分配 | 存放结构体变量
- 高效java工具类总结
- How does RECORDLENGTH affect your exp speed?
- 不可阻挡的PowerShell :Red Teamer告诉你如何突破简单的AppLocker策略
- 一图看懂经典面试题——左外连接,右外连接,内连接的区别
- 国讯之MTK Ralink方案GPIO驱动介绍
- word应用:快速删除页眉横线
- python逻辑回归模型建模步骤_Python逻辑回归——建模-评估模型
- 视频会议软件的使用形式
- 【微信小程序】选择器组件picker
- 2022年下半年软件设计师考试下午真题(专业解析+参考答案)
- 用友t6服务器端操作系统,用友t6远程服务器
- android jnl的mk文件,动态语言与静态语言
- Unity3D音频的制作
- vs为什么打了断点不断_2019年亚洲羽毛球锦标赛半决赛焦点对阵:陈雨菲vs山口茜 德查波/莎西丽vs王懿律/黄东萍 周天成vs石宇奇...
热门文章
- 《算法竞赛中的初等数论》(一)正文 0x00整除、0x10 整除相关(ACM / OI / MO)(十五万字符数论书)
- 制作用于图像语义分割训练的标签数据【图像分割】【labelme】
- 微信调用扫一扫功能实现
- #torch.bmm()函数解读
- 关于Quartus II 13.0破解失败问题
- [玩转UE4/UE5动画系统>应用篇>功能模块] 之 ALS V4地面站立动作状态机详解
- 【NISP一级】2.2 身份鉴别与访问控制
- Cloud Compare快速大规模配准
- 2021年教你增加拿到BAT等大厂offer几率,分享PDF高清版
- 【原创】xenomai+linux双内核下的时钟管理机制