当前位置: 首页 > 面试题库 >

Java Mail Exception错误;

佴涵蓄
2023-03-14
问题内容

我的代码:

import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class SendMailTLS {
public static void main(String[] args) {
    final String username = "myemailid@gmail.com";
    final String password = "myemailpassword";
    Properties props = new Properties();
    props.put("mail.smtp.auth", "true");
    props.put("mail.smtp.starttls.enable", "true");
    props.put("mail.smtp.host", "smtp.gmail.com");
    props.put("mail.smtp.port", "587");
    Session session = Session.getInstance(props,
      new javax.mail.Authenticator() {
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(username, password);
        }
      });

    try {
        Message message = new MimeMessage(session);
        message.setFrom(new InternetAddress("myemailid@gmail.com"));
        message.setRecipients(Message.RecipientType.TO,
            InternetAddress.parse("myfriedemail@ymail.com"));
        message.setSubject("Testing Subject");
        message.setText("Dear Mail Crawler,"+
 "\n\n No spam to my email,please!"); 
        Transport.send(message);
        System.out.println("Done");
    } catch (MessagingException e) {
        throw new RuntimeException(e);
    }
}
}

我的错误:

线程“主”中的异常java.lang.RuntimeException:javax.mail.MessagingException:
未知的SMTP主机:smtp.gmail.com;
嵌套的异常是:
java.net.UnknownHostException:smtp.gmail.com,
位于Mail.SendMailTLS.main(SendMailTLS.java:56)
,原因:javax.mail.MessagingException:未知的SMTP主机:smtp.gmail.com;
嵌套的异常是:
java.net.UnknownHostException:
com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1970)
处的smtp.gmail.com
com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java):642),
位于javax.mail.Service.connect(Service.java:317),
位于javax.mail.Service.connect(Service.java:176)
在javax.mail.Service.connect(Service.java:125)
在javax.mail.Transport.send0(Transport.java:194)
在javax.mail.Transport.send(Transport.java:124)
在Mail.SendMailTLS。 main(SendMailTLS.java:51)
造成原因:java.net.UnknownHostException:
位于java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)的smtp.gmail.com

位于java.net.SocksSocketImpl.connect(SocksSocketImpl.java: 366)
在 com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:319
)在java.net.Socket.connect(Socket.java:475)
在java.net.Socket.connect(Socket.java:525)

com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:233)
在com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1938)处
…还有7个
Java结果:1


我的本地代理为172.17.0.4:8080 ,用户名为: user1 ,密码为: user2
解决方案?


问题答案:

如果您使用代理服务器,我认为您不能使用Java Mail。

来自:oracle.com

问:如何配置JavaMail通过代理服务器工作?

答:JavaMail当前不支持通过Web代理服务器访问邮件服务器。使用代理服务器的主要原因之一是允许来自公司网络内的HTTP请求通过公司防火墙。防火墙通常会阻止大多数对Internet的访问,但是将允许来自代理服务器的请求通过。此外,公司网络内部的邮件服务器将执行类似的电子邮件功能,通过SMTP接收邮件并将其转发到Internet上的最终目的地,并接受传入邮件并将其发送到适当的内部邮件服务器。



 类似资料:
  • 我正在尝试搜索亚马逊的产品广告,并使用botlenose来帮助我做到这一点。但是,我刚刚收到HTTP错误400。 其他一些重要信息: 我来自巴西,我的标签也来自亚马逊。这是个问题吗? 我确实检查了我的钥匙、秘密和标签,一切正常。我确实在StackOverflow上查看了其他一些问题,但对我来说没有任何效果。 当然,出于安全原因,我更改了密钥。 Traceback(最近一次调用最后一次):File"

  • 我有一个基于Spring Web model view controller(MVC)框架的项目。Spring Web模型-视图-控制器(MVC)框架的版本是3.2.8 我有这个控制器 这个URL一切正常:

  • 目前从Angular JS controller中,我试图将JSON数据发送到后端服务。但是我有400个错误的请求错误。 在Controller中,我试图通过http服务发送数据,如下所示:

  • 我得到了这个错误,有什么想法会导致它吗?我试图发送一个DTO,它有一个扩展抽象类的对象列表,我想这个问题可能是因为DTO中的列表,还是因为抽象类的子类?

  • 在月食中, ”org.apache.axis2。AxisFault:传输错误: 403错误:禁止”试图从svn检出项目时发生错误。我不能实现这个错误,因此我检查了从终端使用"svn-co"命令的项目。 但是,有趣的是,当我试图在Eclipse中运行应用程序时,在输入凭据(用户名和密码)并按下“登录”按钮之后,我又遇到了相同的错误。响应是JFrame上的无效用户名/密码,但凭据没有错误。这只发生在日

  • Errors 错误 Library routines must often return some sort of error indication to the caller. As mentioned earlier, Go’s multivalue return makes it easy to return a detailed error description alongside th

  • 本章概述了Google API错误模型,以及开发人员如何正确生成和处理错误的一般指南。 Google API使用简单的协议无关错误模型,这使我们能够在不同的API,API协议(如gRPC或HTTP)以及错误上下文(例如,异步,批处理或工作流错误)中获得一致的体验。 错误模型 错误模型在逻辑上由google.rpc.Status定义,当API发生错误时,返回一个Status实例给客户端。 以下代码段

  • 5.4. 错误 在Go中有一部分函数总是能成功的运行。比如strings.Contains和strconv.FormatBool函数,对各种可能的输入都做了良好的处理,使得运行时几乎不会失败,除非遇到灾难性的、不可预料的情况,比如运行时的内存溢出。导致这种错误的原因很复杂,难以处理,从错误中恢复的可能性也很低。 还有一部分函数只要输入的参数满足一定条件,也能保证运行成功。比如time.Date函数