一段發郵件的代碼,卻總報下面這個異常,到底是什么原因啊?
javax.mail.MessagingException: 553 sorry, The sender of local domains must authentication
public void send(ServletContext application) throws Exception {
MimeMessage msg = null;
Multipart oMultipart_ = null;
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
// 若要密? ?user ?定一? admin emissuper
PasswordAuthentication password = new PasswordAuthentication(System.getProperty("mail.smtp.user"), System.getProperty("mail.smtp.password"));
try {
// Get a Session object
Properties props = System.getProperties();
props.put("mail.smtp.host", System.getProperty("mail.smtp.host"));
props.put("mail.smtp.auth", "true");
Session session = (props == null) // [1165 ] merlin start
? Session.getDefaultInstance(System.getProperties(),
new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(System.getProperty("mail.smtp.user"), System.getProperty("mail.smtp.password"));
}
})
: Session.getDefaultInstance(props, null); // [1165 ] merlin end
// session.setPasswordAuthentication(new URLName(System.getProperty("mail.smtp.host")), password);
msg = new MimeMessage(session);
if (From_ != null)
msg.setFrom(From_);
else
msg.setFrom();
if ( To_ == null )
throw new Exception("unable to send null recipient");
msg.setRecipients(Message.RecipientType.TO,To_);
if (CC_ != null) {
msg.setRecipients(Message.RecipientType.CC,CC_);
}
if( sSubject_ != null )
{
msg.setSubject(sSubject_);
}
oMultipart_ = new MimeMultipart();
MimeBodyPart _oBody = new MimeBodyPart();
_oBody.setContent(sBuf_.toString(),"text/html;charset=" + INTERNET_ENCODING);
oMultipart_.addBodyPart(_oBody);
if( sAttachment_ != null ) {
for(int i=0;i<sAttachment_.size();i++){
FileDataSource _fds = new FileDataSource(sAttachment_.get(i).toString());
MimeBodyPart _oAttach= new MimeBodyPart();
DataHandler _dh = new DataHandler(_fds);
_oAttach.setDataHandler(_dh);
_oAttach.setFileName(MimeUtility.encodeWord(_fds.getName()));
oMultipart_.addBodyPart(_oAttach);
}
}
msg.setContent(oMultipart_);
msg.saveChanges();
msg.setHeader("X-Mailer", "javamail_1.3.2");
// msg.setDataHandler(new DataHandler(
// new ByteArrayDataSource(sBuf_.toString(), "text/html;charset=" + INTERNET_ENCODING)));
msg.setSentDate(new Date());
// before send , log it to system...
if( application != null ) {
// send to the mail queue
emisMailQueue.getInstance(application).add(msg);
} else {
// send it right now
Transport transport = session.getTransport("smtp");
transport.connect(System.getProperty("mail.smtp.host"),
System.getProperty("mail.smtp.user"),
System.getProperty("mail.smtp.password"));
transport.sendMessage(msg, msg.getAllRecipients());//報錯的位置
transport.close();
// Transport.send(msg);
}
} catch (Exception ignore) {
ignore.printStackTrace();
if( application != null ) {
try {
emisTracer.get(application).warning(this,ignore);
} catch (Exception ignore1) {}
}
throw ignore;
} finally {
// free object reference
msg = null;
From_ = null;
To_ = null;
CC_ = null;
sSubject_ = null;
sAttachment_ = null;
}
}
請各位幫幫忙啊!
分享到:
相关推荐
6. 错误处理:在尝试发送邮件时,应捕获并处理可能抛出的异常,如MessagingException。 总的来说,Java Mail是一个强大的工具,它使得在Java应用中集成邮件功能变得简单。通过理解和使用提供的jar文件和示例代码,...
8. **异常处理**:在发送邮件的过程中,可能会遇到网络问题或服务器错误,因此需要对可能出现的异常进行捕获和处理,例如`MessagingException`。 9. **测试和调试**:在开发过程中,可以使用像Gmail或Yahoo这样的...
用自己的邮件服务器发送邮件,遇到了这个问题,耗费了2个小时终于解决了 javax.mail.MessagingException: Could not connect to SMTP host: zxkaka.com, port: 25; 出现这个问题时,我在foxmail 以及 outlook都可以...
8. **异常处理**: 在实际开发中,必须处理可能出现的异常,如`MessagingException`,这是JavaMail API抛出的主要异常类型。 总的来说,"MyEclipse发送邮件驱动包"是开发过程中不可或缺的工具,它简化了与邮件服务器...
发送邮件时可能会遇到网络问题、认证失败等异常,需要捕获并处理`MessagingException`。 10. **使用JavaMail发送HTML邮件** 如果邮件需要包含HTML格式,可以使用`MimeMessage`的`setContent`方法传入`...
- **构建邮件对象**:使用 `MimeMessage` 类创建邮件对象,并设置发件人、收件人、主题、正文等信息。 - **发送邮件**:调用 `Transport.send(msg)` 方法发送邮件。 #### 四、异常处理 在实际应用中,邮件发送可能...
- **异常处理**:JavaMail API提供了丰富的异常处理机制,如`MessagingException`,可以帮助你处理邮件发送过程中可能出现的问题。 在实际应用中,你可能还需要根据邮件服务器的具体需求引入其他JAR包,例如如果你...
发送邮件过程中可能会遇到网络问题、服务器认证失败等问题,因此需要适当地捕获和处理`MessagingException`等异常。 9. **用户界面**: 创建一个用户友好的界面,让用户输入收件人、主题、正文,以及选择附件。...
在实际应用中,你可能还需要处理异常情况,比如网络问题、认证失败或邮件服务器拒绝等。同时,考虑到安全性和隐私,发送邮件时应遵循最佳实践,比如使用SSL/TLS加密连接,并妥善管理用户的凭据。 总结起来,Java...
`Message` 对象提供了许多方法来获取邮件信息,如 `getMessageContent()` 获取邮件内容,`getFrom()` 获取发件人,`getSubject()` 获取主题,`getDate()` 获取日期等。 6. **处理MIME类型**: 邮件内容通常包含...
在实际编码过程中,务必处理可能出现的异常,如`MessagingException`、`IOException`等,确保程序的健壮性。 9. 邮件安全考虑: 考虑到安全性,某些SMTP服务器可能要求使用SSL/TLS加密连接,这可以通过设置`mail....
最后,我们构建了一个`MimeMessage`对象,填充了邮件的发件人、收件人、主题和正文,并通过`Transport.send()`方法将其发送出去。 需要注意的是,实际使用时,你需要替换上述代码中的示例值(如邮箱地址、密码和...
例如,`MessagingException`是JavaMail API中常见的异常类型。 7. **安全性考虑**:考虑到网络安全,通常推荐使用SSL或TLS连接来加密邮件传输。此外,敏感信息如用户名和密码应该妥善存储和管理,避免明文暴露。 ...
在这个场景中,我们关注的是如何利用JavaMail来捕获异常,确保在发送邮件过程中遇到问题时能够正确处理。 首先,`activation.jar`是JavaBeans Activation Framework的实现,它是JavaMail的一个依赖。这个框架提供了...
这个例子展示了如何配置SMTP服务器的属性,创建一个邮件会话,设置邮件的发件人、收件人、主题和正文,然后发送邮件。注意,实际应用中还需要处理异常,确保发送过程的健壮性。 总结来说,邮件发送是一个涉及SMTP...
5. **邮件构建**:创建一封邮件涉及几个步骤,首先创建一个`Session`对象,设置属性如SMTP服务器信息、发件人和收件人的地址。然后创建`Message`对象,设置主题、正文和附件。如果邮件包含多个部分,可以使用`...
发送邮件过程中可能会遇到网络问题、认证失败等问题,因此需要捕获并处理可能抛出的异常,如`MessagingException`。 7. **示例代码**: 下面是一个简单的Java邮件发送示例,展示如何使用JavaMail API发送邮件: ...
添加适当的异常处理可以帮助调试和优化邮件发送的代码。此外,可以创建测试环境,模拟不同情况下的邮件发送,确保代码的健壮性。 7. **附加文件**: 如果需要发送带有附件的邮件,可以使用MimeBodyPart和Multipart类...
6. **异常处理**: 发送邮件时可能会遇到网络问题、认证错误或其他异常,因此编写良好的异常处理代码是必不可少的。你需要捕获并处理可能抛出的`MessagingException`。 7. **SSL/TLS安全**: 许多SMTP服务器要求使用...
5. **异常处理**:在尝试发送邮件时,可能会遇到地址格式错误(AddressException)或邮件发送失败(MessagingException)的情况,因此需要捕获这些异常并进行适当处理。 6. **实际应用**:在实际项目中,开发者通常...