2013-03-26 62 views
0

我试图使用JNDI发送电子邮件,但由于某些奇怪的原因,未设置“来源”字段。javax.mail from未设置

的context.xml:

<Resource name="email/user" 
    description="support email" 
    auth="Container" 
    type="javax.mail.Session" 
    username="[email protected]" 
    password="pass" 
    mail.debug="false" 
    mail.user="[email protected]" 
    mail.from="[email protected]" 
    mail.transport.protocol="smtp" 
    mail.host="mail.server.net" 
    mail.smtp.host="mail.server.net" 
    mail.smtp.auth="true" 
    mail.smtp.from="[email protected]" 
    mail.smtp.starttls.enable="true" 
    mail.smtp.submitter="[email protected]"/> 

而且我是如何得到这个应用程序:

Context ctx = new InitialContext(); 
Session userEmail = (Session) ctx.lookup("java:comp/env/email/user"); 

,一切都很好,但是当我在这封电子邮件是为某些服务器我收到返回消息: 我们不能接受你的信息 - 失踪:(#5.3.0)

附加问题:

如何设置好看? 我尝试这样做:

mail.from="company XYZ &lt;[email protected]&gt;" 

但它不工作....

回答

2

我找到了原因。这个问题出现在消息创建中。

我错过了messsage.setFrom();

代码:

Message message = new MimeMessage(mailSession); 
message.setFrom(); //this was missing 
message.setSubject(subject); 
message.setContent(content, "text/html; charset=" + charset); 
//... set recipients, .... 
Transport.send(message); 

现在我的两个问题的回答。 “好看”现在也在起作用。