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 ??
ala*_*inm 10
如果您在代理下,我认为您不能使用Java Mail.
来自:oracle.com
问:如何配置JavaMail以通过我的代理服务器工作?
答:JavaMail目前不支持通过Web代理服务器访问邮件服务器.使用代理服务器的一个主要原因是允许来自公司网络内的HTTP请求通过公司防火墙.防火墙通常会阻止对Internet的大多数访问,但允许来自代理服务器的请求通过.此外,在企业网络内部的邮件服务器将执行类似的功能为电子邮件,通过SMTP接受邮件,并将其转发到Internet上的最终目的地,并接受传入的消息,并将它们发送到合适的内部邮件服务器.
| 归档时间: |
|
| 查看次数: |
35364 次 |
| 最近记录: |