java web中 mailutil真实给邮箱发邮件

菜鸟初级玛农 2020-06-18 10:49:25





为什么尝试运行了几次工具类,都没有接收到邮件??
...全文
181 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
菜鸟初级玛农 2020-06-19
  • 打赏
  • 举报
回复
引用 3 楼 lbing100789 的回复:
应该是 Transport.send(message); 这个弄错了
try {
			Session session = Session.getInstance(prop);
			// 开启Session的debug模式,这样就可以查看到程序发送Email的运行状态
			session.setDebug(true);
			// 2、通过session得到transport对象
			Transport ts = session.getTransport();
			// 3、使用邮箱的用户名和密码连上邮件服务器,发送邮件时,发件人需要提交邮箱的用户名和密码给smtp服务器,
			// 用户名和密码都通过验证之后才能够正常发送邮件给收件人。
			ts.connect(base_host, base_from, base_password);
			// 4、创建邮件
			// 创建邮件对象
			MimeMessage message = new MimeMessage(session);
			// 指明邮件的发件人
			message.setFrom(new InternetAddress(base_from));
			// 指明邮件的收件人,现在发件人和收件人是一样的,那就是自己给自己发
			message.setRecipients(Message.RecipientType.TO, new InternetAddress().parse(to));// 收件人
			// 邮件的标题
			message.setSubject(title);
			// 邮件的文本内容
			message.setContent(text, "text/html;charset=UTF-8");

			// 5、发送邮件
			ts.sendMessage(message, message.getAllRecipients());
			ts.close();

		} catch (Exception e) {
			logger.error("邮件发送失败 ----{}", e.getMessage());
		}
邮件的客户端需要开通一个协议 才能从本地发送 已解决
dkwuxiang 2020-06-19
  • 打赏
  • 举报
回复
上面很明显有错误信息把?
阿萨德由 2020-06-19
  • 打赏
  • 举报
回复
应该是 Transport.send(message); 这个弄错了
try {
			Session session = Session.getInstance(prop);
			// 开启Session的debug模式,这样就可以查看到程序发送Email的运行状态
			session.setDebug(true);
			// 2、通过session得到transport对象
			Transport ts = session.getTransport();
			// 3、使用邮箱的用户名和密码连上邮件服务器,发送邮件时,发件人需要提交邮箱的用户名和密码给smtp服务器,
			// 用户名和密码都通过验证之后才能够正常发送邮件给收件人。
			ts.connect(base_host, base_from, base_password);
			// 4、创建邮件
			// 创建邮件对象
			MimeMessage message = new MimeMessage(session);
			// 指明邮件的发件人
			message.setFrom(new InternetAddress(base_from));
			// 指明邮件的收件人,现在发件人和收件人是一样的,那就是自己给自己发
			message.setRecipients(Message.RecipientType.TO, new InternetAddress().parse(to));// 收件人
			// 邮件的标题
			message.setSubject(title);
			// 邮件的文本内容
			message.setContent(text, "text/html;charset=UTF-8");

			// 5、发送邮件
			ts.sendMessage(message, message.getAllRecipients());
			ts.close();

		} catch (Exception e) {
			logger.error("邮件发送失败 ----{}", e.getMessage());
		}
菜鸟初级玛农 2020-06-18
  • 打赏
  • 举报
回复
package cn.itcast.travel.util; import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import java.util.Properties; /** * 发邮件工具类 */ public final class MailUtils { private static final String USER = ""; // 发件人称号,同邮箱地址 private static final String PASSWORD = ""; // 如果是qq邮箱可以使户端授权码,或者登录密码 /** * * @param to 收件人邮箱 * @param text 邮件正文 * @param title 标题 */ /* 发送验证信息的邮件 */ public static boolean sendMail(String to, String text, String title){ try { final Properties props = new Properties(); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.host", "smtp.qq.com"); // 发件人的账号 props.put("mail.user", USER); //发件人的密码 props.put("mail.password", PASSWORD); // 构建授权信息,用于进行SMTP进行身份验证 Authenticator authenticator = new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { // 用户名、密码 String userName = props.getProperty("mail.user"); String password = props.getProperty("mail.password"); return new PasswordAuthentication(userName, password); } }; // 使用环境属性和授权信息,创建邮件会话 Session mailSession = Session.getInstance(props, authenticator); // 创建邮件消息 MimeMessage message = new MimeMessage(mailSession); // 设置发件人 String username = props.getProperty("mail.user"); InternetAddress form = new InternetAddress(username); message.setFrom(form); // 设置收件人 InternetAddress toAddress = new InternetAddress(to); message.setRecipient(Message.RecipientType.TO, toAddress); // 设置邮件标题 message.setSubject(title); // 设置邮件的内容体 message.setContent(text, "text/html;charset=UTF-8"); // 发送邮件 Transport.send(message); return true; }catch (Exception e){ e.printStackTrace(); } return false; } public static void main(String[] args) throws Exception { // 做测试用 MailUtils.sendMail("13709280046@163.com","你好,这是一封测试邮件,无需回复。","测试邮件"); System.out.println("123"); } 源码
菜鸟初级玛农 2020-06-18
  • 打赏
  • 举报
回复
是否需要调整一些参数?idea maven模式下 pom.xml应该是配置了jar包路径了

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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