Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Parsing 解析";从「;javamail中的电子邮件地址_Parsing_Email_Jakarta Mail - Fatal编程技术网

Parsing 解析";从「;javamail中的电子邮件地址

Parsing 解析";从「;javamail中的电子邮件地址,parsing,email,jakarta-mail,Parsing,Email,Jakarta Mail,我正在尝试使用javamail阅读收件箱中的电子邮件,并专门检查主题为“传递状态通知”的电子邮件。代码如下: for(Message message:messages){ for(Address a:message.getFrom()){ if(message.getSubject().equalsIgnoreCase("Delivery Status Notification")){ Multipart m

我正在尝试使用javamail阅读收件箱中的电子邮件,并专门检查主题为“传递状态通知”的电子邮件。代码如下:

for(Message message:messages){
            for(Address a:message.getFrom()){
                if(message.getSubject().equalsIgnoreCase("Delivery Status Notification")){
                Multipart mp=(Multipart)message.getContent();                                        
                for(int i=0;i<mp.getCount();i++) {
                    BodyPart bodyPart = mp.getBodyPart(i);
                    if (bodyPart.isMimeType("text/*")) {
                    String cont = (String) bodyPart.getContent();
                    System.out.println("Content: "+cont);
                    }
                }                    
                System.out.println("-----\n");
               }
            }
for(消息:消息){
for(地址a:message.getFrom()){
if(message.getSubject().equalsIgnoreCase(“传递状态通知”)){
Multipart mp=(Multipart)message.getContent();

对于(int i=0;i某些邮件服务器使用伪造的非法发件人地址发送这些传递通知消息。当然,您应该向邮件服务器供应商报告此错误

在等待供应商解决问题时,您可以通过设置以下会话属性在JavaMail中解决此问题:

  session.setProperty("mail.mime.address.strict", "false");

某些邮件服务器使用伪造的非法发件人地址发送这些传递通知消息。当然,您应该向邮件服务器供应商报告此错误

在等待供应商解决问题时,您可以通过设置以下会话属性在JavaMail中解决此问题:

  session.setProperty("mail.mime.address.strict", "false");
session.setProperty()在我的例子中无法识别。我使用了下面的实现,它成功了

Properties props = new Properties();
props.put("mail.mime.address.strict", "false");
Session session = Session.getDefaultInstance(props);
session.setProperty()在我的例子中无法识别。我使用了下面的实现,它成功了

Properties props = new Properties();
props.put("mail.mime.address.strict", "false");
Session session = Session.getDefaultInstance(props);

我试过了。仍然有同样的问题。有没有其他方法可以从电子邮件中获取地址而不是使用message.getFrom()呢在地址数组中?您使用的是什么版本的JavaMail?您可以始终使用getHeader方法并尝试自己解析地址。我现在使用的是1.5.1,没有地址。我将尝试使用Header解析,然后我将进一步发布。我在上面错了(JavaMail文档的一部分错了),下面是“mail.mime.address.strict”属性需要设置为会话属性,而不是系统属性。请尝试。是的,它可以工作。谢谢。为什么不修改您的答案,以便我可以投票并接受它。我尝试了此操作。仍然有相同的问题。是否有其他方法从电子邮件中获取地址,而不是使用message.getFrom()在地址数组中?您使用的是什么版本的JavaMail?您可以始终使用getHeader方法,并尝试自己解析地址。我现在使用的是1.5.1,没有地址。我将尝试使用Header解析,然后我将进一步发布。我在上面错了(JavaMail文档的一部分错了),”mail.mime.address.strict“属性需要设置为会话属性,而不是系统属性。请尝试。是的,它可以工作。谢谢。为什么不修改您的答案,以便我可以向上投票并接受它。