Java Mail异常错误; [英] Java Mail Exception Error;

查看:115
本文介绍了Java Mail异常错误;的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

MyCode:

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);
    }
}
}

我的错误:



线程main中的异常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:smtp.gmail.com
com.sun.mail.smtp.SMTPTransport.openServer上的
(SMTPTransport.java:1970)
com.sun.mail上的
.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:642)

at javax.mail.Service.connect(Service.java:317)

at javax.mail.Service.connect (Service.java:176)

at javax.mail.Service.connect(Service.java:125)

at javax.mail.Transport.send0(Transport.java:194)

at javax.mail.Transport.send(Transport.java:124)

at Mail.SendMailTLS.main( SendMailTLS.java:51)

引起:java.net.UnknownHostException:smtp.gmail.com
java.net.PlainSocketImpl.connect上的
(PlainSocketImpl.java:177)< br>
在java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)

在java.net.Socket.connect(Socket.java:525)

在java.net.Socket.connect(Socket.java:475)

at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:319)

at com .sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:233)
com.sun.mail.smtp.SMTPTransport.openServer上的
(SMTPTransport.java:1938)

... 7更多

Java结果:1

Exception in thread "main" java.lang.RuntimeException: javax.mail.MessagingException:
Unknown SMTP host: smtp.gmail.com;
nested exception is:
java.net.UnknownHostException: smtp.gmail.com
at Mail.SendMailTLS.main(SendMailTLS.java:56)
Caused by: javax.mail.MessagingException: Unknown SMTP host: smtp.gmail.com;
nested exception is:
java.net.UnknownHostException: smtp.gmail.com
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1970)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:642)
at javax.mail.Service.connect(Service.java:317)
at javax.mail.Service.connect(Service.java:176)
at javax.mail.Service.connect(Service.java:125)
at javax.mail.Transport.send0(Transport.java:194)
at javax.mail.Transport.send(Transport.java:124)
at Mail.SendMailTLS.main(SendMailTLS.java:51)
Caused by: java.net.UnknownHostException: smtp.gmail.com
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:525)
at java.net.Socket.connect(Socket.java:475)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:319)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:233)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1938)
... 7 more
Java Result: 1


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

I am having the Local proxy as 172.17.0.4:8080 with username as :user1, password as: user2
Solutions pls??

推荐答案

如果您在代理服务器下,我认为您无法使用Java Mail。

If you are under a proxy I think you can't use Java Mail.

来自: oracle.com


问:怎么做我将JavaMail配置为通过我的代理服务器工作?

Q: How do I configure JavaMail to work through my proxy server?

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

A: JavaMail does not currently support accessing mail servers through a web proxy server. One of the major reasons for using a proxy server is to allow HTTP requests from within a corporate network to pass through a corporate firewall. The firewall will typically block most access to the Internet, but will allow requests from the proxy server to pass through. In addition, a mail server inside the corporate network will perform a similar function for email, accepting messages via SMTP and forwarding them to their ultimate destination on the Internet, and accepting incoming messages and sending them to the appropriate internal mail server.

这篇关于Java Mail异常错误;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆