Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.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
Java Mail';s Transport.send即使在使用null mailSession时也能工作_Java_Jakarta Mail_James - Fatal编程技术网

Java Mail';s Transport.send即使在使用null mailSession时也能工作

Java Mail';s Transport.send即使在使用null mailSession时也能工作,java,jakarta-mail,james,Java,Jakarta Mail,James,那么,有人能告诉我当Transport.send()提供了一个空会话对象时,Java是如何工作的吗?我在JavaMailAPI中看到了这个错误,其中一封电子邮件使用空的MailSession对象发送 //Some code here Session mailSession = null; mailSession = getMailSession(); //This returns NULL MimeMessage message = new MimeMessage(mailSession);

那么,有人能告诉我当Transport.send()提供了一个空会话对象时,Java是如何工作的吗?我在JavaMailAPI中看到了这个错误,其中一封电子邮件使用空的MailSession对象发送

//Some code here
Session mailSession = null;

mailSession = getMailSession(); //This returns NULL
MimeMessage message = new MimeMessage(mailSession);

// some more code here to set FROM/To/Subject/content

Transport.send(message); //This still fires mail?!

p.S:当它仍然有效时,我为什么不高兴?为什么要麻烦?实际上,我正在建立的邮件会话是一个James服务器。由于会话不是用James的JNDI建立的,服务器以某种方式将电子邮件发送到“外部世界”到实际用户id。这是测试环境,不打算向实时用户发送电子邮件

来自Java邮件源代码:

Session s = (msg.session != null) ? msg.session :
             Session.getDefaultInstance(System.getProperties(), null);

如果消息会话为空,则它使用Java Mail源代码中的

创建默认会话:

Session s = (msg.session != null) ? msg.session :
             Session.getDefaultInstance(System.getProperties(), null);

如果消息会话为空,则它将使用

谢谢创建默认会话,因此我必须检查我的应用程序服务器的默认配置。谢谢,因此我必须检查我的应用程序服务器的默认配置。