我不熟悉使用Java发送邮件的功能。发送电子邮件重设密码时出现错误。希望你能给我一个解决方案。
下面是我的代码:
public synchronized static boolean sendMailAdvance(String emailTo, String subject, String body)
{
String host = AppConfigManager.getProperty("SENDER-EMAIL-SMTP-ADDRESS");
String userName = AppConfigManager.getProperty("SENDER-EMAIL-SMTP-USERNAME");
String password = AppConfigManager.getProperty("SENDER-EMAIL-SMTP-PASSWORD");
String port = AppConfigManager.getProperty("SENDER-EMAIL-SMTP-PORT");
String starttls = AppConfigManager.getProperty("SENDER-EMAIL-SMTP-STARTTLS");
String socketFactoryClass = AppConfigManager.getProperty("SENDER-EMAIL-SMTP-SOCKET-CLASS");
String fallback = AppConfigManager.getProperty("SENDER-EMAIL-SMTP-ALLOW-FALLBACK");
try
{
java.util.Properties props = null;
props = System.getProperties();
props.put("mail.smtp.user", userName);
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.debug", "true");
if(!"".equals(port))
{
props.put("mail.smtp.port", port);
props.put("mail.smtp.socketFactory.port", port);
}
if(!"".equals(starttls))
props.put("mail.smtp.starttls.enable",starttls);
if(!"".equals(socketFactoryClass))
props.put("mail.smtp.socketFactory.class",socketFactoryClass);
if(!"".equals(fallback))
props.put("mail.smtp.socketFactory.fallback", fallback);
Session session = Session.getDefaultInstance(props, null);
session.setDebug(true);
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(userName));
msg.setSubject(subject);
msg.setText(body, "ISO-8859-1");
msg.setSentDate(new Date());
msg.setHeader("content-Type", "text/html;charset=\"ISO-8859-1\"");
msg.addRecipient(Message.RecipientType.TO, new InternetAddress(emailTo));
msg.saveChanges();
Transport transport = session.getTransport("smtp");
transport.connect(host, userName, password);
transport.sendMessage(msg, msg.getAllRecipients());
transport.close();
return true;
}
catch (Exception mex)
{
mex.printStackTrace();
return false;
}
}
引发以下错误:
调试:setDebug:JavaMail版本1.4.1ea-SNAPSHOT
DEBUG: getProvider() returning
javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun
Microsystems, Inc]调试SMTP:useEhlo是,useAuth是
侦听SMTP:尝试连接到主机“ smtp.gmail.com”,端口465,isSSL为false 220 mx.google.com ESMTP
m4sm5929870pbg.38-gsmtp调试SMTP:连接到主机“ smtp.gmail.com”,端口:465
EHLO脂肪
250-mx.google.com随时为您服务,[175.139.198.14]
250尺寸35882577
250-8BITMIME
250-AUTH登录PLATINA XOAUTH XOAUTH2 PLAI-CLIENTTOKEN
250个增强的状态代码
250调音
调试SMTP:找到扩展名“ SIZE”,参数“ 35882577”
调试SMTP:找到扩展名“ 8BITMIME”,arg“”
调试SMTP:找到扩展名“ AUTH”,arg“ LOGIN PLAIN XOAUTH XOAUTH2 PLAIN-CLIENTTOKEN”
调试SMTP:找到扩展名“ ENHANCEDSTATUSCODES”,arg“”
调试SMTP:找到扩展名“ CHUNKING”,arg“”
调试SMTP:尝试进行身份验证
身份登录
334 VXNlcm5hbWU6
YWNjb3VudEBibG9vbWluZy5jb20ubXk =
第334章
Ymxvb21pbmc = 535-5.7.8不接受用户名和密码。要了解更多信息,请访问535 5.7.8
http://support.google.com/mail/bin/answer.py?answer=14257m4sm5929870pbg.38-gsmtp
[STDOUT] javax.mail.AuthenticationFailedException
javax.mail.Service.connect上的[STDOUT](Service.java:319)
javax.mail.Service.connect上的[STDOUT](Service.java:169)
com.vlee.util.mail.SendMail.sendMailAdvance(SendMail.java:283)上的[STDOUT]
com.vlee.servlet.ecommerce.DoMemberLogin.fnSendPwd(DoMemberLogin.java:251)上的[STDOUT]
com.vlee.servlet.ecommerce.DoMemberLogin.doPost(DoMemberLogin.java:72)上的[STDOUT]
您应该将端口更改为587
,我测试了您的代码,并且工作正常
如果仍然发生错误,请将会话变量更改为以下代码:
Session session = Session.getInstance(props, new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(userName, password);
}
});
我不熟悉这个功能在Java发送邮件。我收到一个错误时发送电子邮件重置密码。希望你能给我一个解决办法。 下面是我的代码: 引发以下错误: debug:setdebug:JavaMail版本1.4.1ea-snapshot 调试SMTP:useEhlo为true,useAuth为true 调试SMTP:正在尝试连接到主机“smtp.gmail.com”,端口465,isSSL false 220 mx
本文向大家介绍解决 java.lang.NoSuchMethodError的错误,包括了解决 java.lang.NoSuchMethodError的错误的使用技巧和注意事项,需要的朋友参考一下 解决 java.lang.NoSuchMethodError的错误 1 原因 在项目依赖比较复杂或者 Java 运行的环境有问题时,或者同一类型的 jar 包有不同版本存在,都可能触发该错误。本质上说是
现在我正在尝试从git运行克隆应用程序https://github.com/frinder/frinder-app但问题是该应用程序制作了很长时间,所以应该改变bulid.gradle 但是当我尝试相同的同步实现“com.android.支持:动画矢量可绘制:28.0.0”,但如果我删除它,请继续向我显示错误28.0.0它显示如下 但我不知道是什么造成了不完全相同的版本 这是应用程序build.g
问题内容: 我们正在尝试使用VScode将代码部署到FRC机器人,但我们不断收到错误消息: 错误:找不到或加载主类 org.gradle.wrapper.GradleWrapperMain 原因:java.lang.ClassNotFoundException: org.gradle.wrapper.GradleWrapperMain 终端进程终止,退出代码为:1 我们发现其他人也遇到了类似的错误
问题内容: 我连接了VPN,以设置广告资源API来获取产品列表,并且效果很好。一旦我从Web服务获得结果并绑定到UI。当我遇到付款错误时,我也将PayPal与我的make Express结帐应用程序集成在一起。我将servlet用于后端过程。谁能说出解决此问题的方法? 问题答案: 首先,你需要从尝试连接的服务器获取公共证书。这可以通过多种方式完成,例如联系服务器管理员并提出要求,使用OpenSSL
我已经在swingeclipse的JTable属性中设计了默认的表模型。所以当我尝试进行计算时,会出现错误……线程“AWT-EventQueue-0”java.lang.ClassCastException:java.lang.String无法转换为java.lang.Integer 在-Integer quantity =((Integer)model . getvalue at(row,2))