java邮件发送功能中,passward只能是授权码吗?直接使用邮箱登陆密码可以吗?

沐浴清风k 2019-10-09 04:25:38
package cn.com.sino.util;

import javax.mail.*;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;

public class Test {

public static void main(String[] args) throws Exception {

Properties props = new Properties();
props.setProperty("mail.smtp.auth", "true");
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.host", "mail.picc.com.cn");

Session session = Session.getInstance(props, new Authenticator(){
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("username","password");
}
});

StringBuffer mailContentBuffer = new StringBuffer("<p style='font-size: 18px'>");
mailContentBuffer.append("Hello");
mailContentBuffer.append(":<br/>");
mailContentBuffer.append("    ");
mailContentBuffer.append("测试邮件......");
mailContentBuffer.append("</p>");

Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("邮件发送方地址"));
message.setSubject("测试");
message.setContent(mailContentBuffer.toString(), "text/html;charset=GBK");

message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("邮件接收方地址"));

Transport.send(message);

System.out.println("邮件发送成功!");
}

}
...全文
586 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_42456184 2019-12-18
  • 打赏
  • 举报
回复
授权码需要登录进去之后在设置开启smtp的时候可以设置,网易邮箱是可以自定义需要短信验证,QQ邮箱和腾讯企业邮箱是自动生成的16位字符串授权码
沐浴清风k 2019-10-09
  • 打赏
  • 举报
回复
因为我们公司只提供了邮箱的账号密码,没有授权码,上面的代码是我写的测试代码,不知道哪里有错就是发送不成功,根据你写过的代码,大神你能看看哪里有错吗?
faith.huan 2019-10-09
  • 打赏
  • 举报
回复
这个取决于你使用的邮箱是哪个公司的产品, 我们公司自己的邮箱就能通过密码进行登入发送

50,544

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧