Java Mail异常错误;

spe*_*ial 9 java jakarta-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);
    }
}
}
Run Code Online (Sandbox Code Playgroud)

我的错误:

线程"main"中的异常java.lang.RuntimeException:javax.mail.MessagingException:
未知的SMTP主机:smtp.gmail.com;
嵌套异常是:
java.net.UnknownHostException:smtp.gmail.com
at Mail.SendMailTLS.main(SendMailTLS.java:56)
引起:javax.mail.MessagingException:未知的SMTP主机:smtp.gmail.com;
嵌套异常是:
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)
在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)
位于
Mail.SendMailTLS.main(SendMailTLS.java:51)的javax.mail.Transport.send(Transport.java:124 )
引起:java.net.UnknownHostException: smtp.gmail.com
at java.net.SpensSocketImpl.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)
在com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1938)
... 7更多
Java R esult:1

我的本地代理为172.17.0.4:8080 ,用户名为:user1,密码为:user2
Solutions pls ??

Qwe*_*sky 11

试试这个服务器:

smtp.googlemail.com


ala*_*inm 10

如果您在代理下,我认为您不能使用Java Mail.

来自:oracle.com

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

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