Email 类MessaginException没有按我认为应该的方式工作

Email 类MessaginException没有按我认为应该的方式工作,email,post,jakarta-mail,Email,Post,Jakarta Mail,我正在开发一个web应用程序,它发送一封电子邮件,并且必须检查,事实上,这封邮件已经在几秒钟内尽可能多地从我的应用程序端发送(我不认为你能做的比将电子邮件发送到电子邮件服务器更重要,如果该电子邮件服务器以后无法将该电子邮件发送给使用它的用户,因为它的收件箱已满或其他类似情况,我认为这帮不上忙,尽管我想知道是否有办法) 无论如何,我认为可以检查的一件事是,如果电子邮件地址不存在,则会给出一个中间响应,根据我阅读的内容,这可以通过MessageException类完成,但我有以下代码: String

我正在开发一个web应用程序,它发送一封电子邮件,并且必须检查,事实上,这封邮件已经在几秒钟内尽可能多地从我的应用程序端发送(我不认为你能做的比将电子邮件发送到电子邮件服务器更重要,如果该电子邮件服务器以后无法将该电子邮件发送给使用它的用户,因为它的收件箱已满或其他类似情况,我认为这帮不上忙,尽管我想知道是否有办法)

无论如何,我认为可以检查的一件事是,如果电子邮件地址不存在,则会给出一个中间响应,根据我阅读的内容,这可以通过MessageException类完成,但我有以下代码:

String email=Utils.parseString(req,"email");
[....]
Properties props = new Properties();  
            props.put("mail.smtp.host", "smtp.gmail.com");  
            props.put("mail.smtp.starttls.enable","true"); 
            props.put("mail.smtp.EnableSSL.enable","true");
            Session s = Session.getInstance(props, null);  
            MimeMessage message = new MimeMessage(s);  
            try {
                InternetAddress from = new InternetAddress(emailadressthatworks);
                message.setFrom(from);
            } catch (Exception e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();

                return;
            }  
            try {
                InternetAddress to = new InternetAddress(email);
                message.addRecipient(Message.RecipientType.TO, to);
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                   resp.sendRedirect("webpage.jsp");                    
                return;
            }

            try {
                message.setSubject("Subject");
                message.setText("message"); 
                Transport.send(message);  
            } catch (MessagingException e) {
            // TODO Auto-generated catch block                

                            e.printStackTrace();        
                                  resp.sendRedirect("webpage.jsp");

                return;
            }
 [....]
无论我在电子邮件中添加了什么随机字符串,它都不会在Transport.send(message)中抛出MessaginException;因此,根据我所读的内容,我可以在我认为应该的时候将它重定向到另一个jsp网页

我可能遗漏了一些东西,或者是这个类无法检测到这些东西

感谢您的帮助。

使用InternetAddress构造函数并调用
message.saveChanges()
执行验证。请参阅 有关更多详细信息,请参见

此外,邮件服务器是否会立即检测某些类型的错误,或者是否会对所有请求进行排队,并且只在以后检查错误,这取决于您的邮件服务器