[英]javaMail with Lotus server
我面临着Lotus服务器的一些问题。 服务器负责人告诉我配置还可以,但是我无法使用其Lotus服务器发送带有html正文的邮件。
我得到的错误是:“ 554中继由于策略原因而被拒绝。”
当我在电脑上尝试时,我使用了smpt.gmail.com并像冠军一样工作。 所以我相信这不是代码问题,问题出在服务器配置上。
javaMail和Lotus是否有问题? 这是常见问题吗? (在一个博客中,有人说无法发送html,但我不敢相信)
我的代码以防万一,
public void sendEmail(String toEmailAddr, String subject, String issue) {
Properties props = new Properties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.port", port);
Session mailSession = Session.getDefaultInstance(props);
Message simpleMessage = new MimeMessage(mailSession);
InternetAddress toAddress = null;
InternetAddress toAddress2[] = null;
Transport t = null ;
try {
Multipart mp = new MimeMultipart();
MimeBodyPart htmlPart = new MimeBodyPart();
htmlPart.setContent(issue, "text/html");
mp.addBodyPart(htmlPart);
simpleMessage.setContent(mp);
} catch (MessagingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
toAddress = new InternetAddress(toEmailAddr);
toAddress2 = new InternetAddress [1];
toAddress2[0] = toAddress;
} catch (AddressException e) {
// TODO LOG
e.printStackTrace();
}
try {
simpleMessage.setRecipients(RecipientType.TO, toAddress2);
simpleMessage.setSubject(subject);
t = mailSession.getTransport("smtp");
if(userPwd==null)
userPwd = "";
t.connect(host, userName, userPwd);
t.sendMessage(simpleMessage, simpleMessage.getAllRecipients());
} catch (MessagingException e) {
e.printStackTrace();
// TODO LOG
}finally{
try {
t.close();
} catch (MessagingException e) {
// TODO LOG
}
}
}
问候。
Domino服务器上的SMTP很可能已设置为仅允许某些主机进行中继-因此, 554 Relay rejected for policy reasons
了错误消息554 Relay rejected for policy reasons
。
您应该与管理员交谈,并让他更改配置以允许其他主机进行中继。 这在路由器/ SMTP->限制和控制-> SMTP入站控制部分的配置文档中进行配置。 有关SMTP入站中继控件的更多信息,请参见: http : //publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp?topic=%2Fcom.ibm.help.domino.admin.doc%2FDOC% 2FH_SETTING_INBOUND_RELAY_CONTROLS_STEPS.html
我有同样的问题,并解决了。 FROM部分是“ me@example.com”,并将其更改为“ myname@mydomain.com”,然后开始发送
可能需要安全连接(SSL),使用以下属性连接支持smtp协议的邮件服务器:
properties.put("mail.smtp.socketFactory.port", "SMTP_PORT");
properties.put("mail.smtp.host", "SMTP_SERVER_HOST_NAME_OR_IP");
properties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
properties.put("mail.smtp.socketFactory.fallback", "false");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.