javamail的问题

oubo824219 oubo824219 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
一个类
package com.mail;

import java.util.Date;
import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

public class SendMail {

private String sender = "oubo219@126.com";
private String smtpHost = "smtp.126.com";

private String user = "oubo219@126.com";
private String password = "oubo13423307898";




private void sendBody(String mailTo, String subject, String information)
throws Exception, MessagingException {
Properties prop = new Properties();
prop.put("mail.smtp.host", smtpHost);// 设置smtp主机
prop.put("mail.smtp.auth", "true");// 使用smtp身份验证
prop.put("mail.smtp.user", user);
prop.put("mail.smtp.password", password);
Session session = Session.getInstance(prop, new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(sender, password);
}
});
// 获得邮件会话对象
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(sender));
// 设置收件人地�?
message.setRecipient(Message.RecipientType.TO, new InternetAddress(mailTo));
// 设置邮件主题
message.setSubject(subject);
// mail内容部分
MimeBodyPart part = new MimeBodyPart();
part.setText(information == null ? "" : information, "UTF-8");
// 设置邮件格式为html
part.setContent(information.toString(), "text/html;charset=UTF-8");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(part);// �? Multipart 中增加mail内容部分
message.setContent(multipart);// 增加 Multipart 到信息体
message.setSentDate(new Date());// 设置发�?�日�?
Transport.send(message);// 发�?�邮�?
}

public void send(String mailTo, String subject, String information) {
try {
this.sendBody(mailTo, subject, information);
} catch (Exception e) {
e.printStackTrace();
}
}

}
在写一个action来测试

String namemail=request.getParameter("mailQQ");
String title ="aaaaa";
System.out.println("aaaa"+namemail);
SendMail sendm=new SendMail();
String Context=" 行不行";

sendm.send(namemail,title,Context);
return mapping.findForward("ok");

jsp页面
<html:html >
<HEAD>

<TITLE>注册</TITLE>
<META http-equiv=Content-Type content="text/html; charset=UTF-8">
<META content="MSHTML 6.00.6000.16788" name=GENERATOR>
</HEAD>
<BODY>
<form action="reg.do" method="post">
<input type="text" name="mailQQ" id="mailQQ" />
<html:submit></html:submit>
</form>
</BODY>
</html:html>

运行时报错了
javax.mail.AuthenticationFailedException
at javax.mail.Service.connect(Service.java:319)
at javax.mail.Service.connect(Service.java:169)
at javax.mail.Service.connect(Service.java:118)
at javax.mail.Transport.send0(Transport.java:188)
at javax.mail.Transport.send(Transport.java:118)
at com.mail.SendMail.sendBody(SendMail.java:57)
at com.mail.SendMail.send(SendMail.java:62)
at com.struts.action.mailAction.execute(mailAction.java:26)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)

请各位高手帮忙。发到我的邮箱oubo219@126.com里
...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部
oubo824219
Web 开发 81,108 成员 341,721 内容