- 35
- 0
javax.mail.AuthenticationFailedException: 530 Error: A secure connection is requiered(such as ssl)
Properties prop = new Properties();
prop.setProperty("mail.transport.protocol", "smtp"); // 设置邮件发送协议
prop.setProperty("mail.host", "smtp.qq.com"); // 邮件服务器地址
//prop.setProperty("mail.smtps.ssl.enable", "true"); // 邮件ssl验证
prop.setProperty("mail.smtp.auth", "true"); // 邮件服务身份验证
//prop.setProperty("mail.smtp.localhost", "127.0.0.1");
Session session = Session.getDefaultInstance(prop);
// 收件人电子邮箱
String to = "xxxxx@qq.com";
// 发件人电子邮箱
String from = "xxxx@qq.com";
try{
// 创建默认的 MimeMessage 对象
MimeMessage message = new MimeMessage(session);
// Set From: 头部头字段
message.setFrom(new InternetAddress(from));
// Set To: 头部头字段
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(to));
// Set Subject: 头部头字段
message.setSubject("This is the Subject Line!");
// 设置消息体
message.setText("This is actual message");
// 根据 Session 获取邮件传输对象
Transport transport = session.getTransport();
transport.connect("xxx@qq.com","xxxxx");
// 发送消息
transport.send(message);
System.out.println("Sent message successfully....");
}catch (MessagingException mex) {
mex.printStackTrace();
} - 共 0 条
- 全部回答
-
繁华落尽与君老 普通会员 1楼
在Java中,发送邮件可以使用JavaMail API或者第三方库,如JavaMailPlus或Smtp。以下是一些常见的错误和解决方案:
- 空的邮件地址: 如果你尝试发送的邮件地址为空,JavaMail API会抛出
javax.mail.Address帆宽异常。确保你发送的邮件地址不为空,可以使用以下代码来检查:
```java try { EmailAddress emailAddress = new EmailAddress("test@example.com"); MailMessage message = new MailMessage(); message.setFrom(emailAddress); message.setTo("recipient@example.com"); message.setSubject("Test Email"); message.setText("Hello, World!");
// 发送邮件 Transport.send(message); System.out.println("Email sent successfully!");} catch (Address帆宽 e) { System.out.println("Failed to send email: " + e.getMessage()); } ```
- 未指定端口: 如果你的邮件服务器没有提供明文端口,JavaMail API会抛出
javax.mail.MessageDeliveryException。例如,如果你的邮件服务器是使用SMTP协议,你需要在发送邮件时指定端口,可以使用以下代码:
java try { Transport.send(message); System.out.println("Email sent successfully!"); } catch (MessageDeliveryException e) { System.out.println("Failed to send email: " + e.getMessage()); }- 未关闭邮箱连接: 如果你在发送邮件之前没有关闭邮箱连接,JavaMail API会抛出
javax.mail.MessagingException。例如,如果你使用的是JavaMailPlus,你需要在发送邮件后立即关闭邮箱连接,可以使用以下代码:
java try { Transport.send(message); System.out.println("Email sent successfully!"); } catch (MessagingException e) { System.out.println("Failed to send email: " + e.getMessage()); }- 邮件内容拼写错误: JavaMail API会忽略邮件内容的大小写,除非你明确指定要区分大小写。例如,如果你想发送一封以大写字母开头的邮件,你可以在
setSubject方法中添加以下代码:
java message.setSubject("Test Email Subject (Case-sensitive)");- 邮件内容超出了邮件限制: 如果邮件的内容超出了邮件服务器的发送限制,JavaMail API会抛出
java.util.mail.MalformedMessageException。例如,如果你的邮件内容超过了邮件服务器的最大长度,你可以在setSubject方法中添加以下代码:
java message.setSubject("Test Email Subject");- 邮件发送失败: 如果发送邮件失败,JavaMail API会抛出
javax.mail.MessagingException。例如,如果你的邮件服务器拒绝发送邮件,你可以在发送邮件后立即抛出一个异常,如IOException,如下所示:
java try { Transport.send(message); System.out.println("Email sent successfully!"); } catch (MessagingException e) { System.out.println("Failed to send email: " + e.getMessage()); throw new IOException("Failed to send email: " + e.getMessage()); }- 邮件接收失败: 如果邮件发送失败,但邮件未被接收,JavaMail API会抛出
javax.mail.AuthenticationException。例如,如果你的邮件服务器拒绝接收邮件,你可以在发送邮件后立即抛出一个异常,如IOException,如下所示:
java try { Transport.send(message); System.out.println("Email sent successfully!"); } catch (AuthenticationException e) { System.out.println("Failed to send email: " + e.getMessage()); throw new IOException("Failed to send email: " + e.getMessage()); }以上代码示例中,我们首先创建了一个
EmailAddress对象,然后创建了一个MailMessage对象。接着,我们设置了发件人、收件人、主题和邮件内容。最后,我们使用Transport.send方法发送邮件,如果发送成功,我们打印出"Email sent successfully!";如果发送失败,我们打印出"Failed to send email: "和抛出的异常。如果邮件未被接收,我们抛出一个异常并打印出"Failed to send email: "。 - 空的邮件地址: 如果你尝试发送的邮件地址为空,JavaMail API会抛出
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

