javamail遇到的一个棘手的小问题

昨天在一个javamail的项目中遇到一个棘手的小问题。

原来运行的很好的程序,在替换了另一个邮件帐户后抛出异常:

javax.mail.AuthenticationFailedException
    at javax.mail.Service.connect(Service.java:306)
    at javax.mail.Service.connect(Service.java:156)

……


百思不得其解,仅仅是更换了一个帐户就出问题了?

起初以为用户密码或其他的配置不对。

用本机的邮件客户端outlook配置了用户帐户,验证。发送邮件没有问题。


老虎吃刺猬,束手无策。老规矩先求助google大神,看了一堆半生不熟的英文之后仍不得要领。

无奈,复求助百度大神

绝望之中,突然眼前一亮。发现一世外高人lqixv留一神贴:

http://www.iteye.com/topic/553794

原来是邮件用户名的问题,依法炮制遂解决之


我虽然知道要跟踪调试但没有具体的办法,这位老兄用到了网络包捕捉程序sniffer去跟踪调试的。

真心佩服人家,认识到了自己调试程序的功力还是嫩了很多~~


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以回答这个问题。以下是一个简单的JavaMail工具类的示例代码,包括注释: ```java import java.util.Properties; import javax.mail.*; import javax.mail.internet.*; public class JavaMailUtil { // 发送邮件的方法 public static void sendEmail(String recipient, String subject, String body) throws MessagingException { // 配置邮件服务器 Properties properties = new Properties(); properties.put("mail.smtp.host", "smtp.gmail.com"); // 邮件服务器地址 properties.put("mail.smtp.port", "587"); // 邮件服务器端口 properties.put("mail.smtp.auth", "true"); // 需要认证 // 创建Session对象 Session session = Session.getInstance(properties, new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("your_email@gmail.com", "your_password"); } }); // 创建邮件对象 Message message = new MimeMessage(session); message.setFrom(new InternetAddress("your_email@gmail.com")); // 发件人邮箱 message.setRecipient(Message.RecipientType.TO, new InternetAddress(recipient)); // 收件人邮箱 message.setSubject(subject); // 邮件主题 message.setText(body); // 邮件内容 // 发送邮件 Transport.send(message); } } ``` 这个工具类使用JavaMail API发送邮件。在使用之前,你需要替换掉代码中的发件人邮箱和密码,以及邮件服务器地址和端口。使用时,只需要调用`sendEmail`方法,传入收件人邮箱、邮件主题和邮件内容即可发送邮件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值