使用JavaMail来从Hotmail发送? [英] Using javamail to send from hotmail?
问题描述
我已经有了Gmail和雅虎的工作,而不是Hotmail的。下面是我,我究竟做错了什么?
I've got gmail and yahoo working, but not hotmail. Here's what I have, what am I doing wrong?
private String mailhost = "smtp.live.com";
public hotmailSenderActivity(String user, String password) {
this.user = user;
this.password = password;
//This connects to the actual mailserver
Security.addProvider(new com.provider.JSSEProvider());
Properties props = new Properties();
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.host", mailhost);
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "587");
props.put("mail.smtp.socketFactory.port", "587");
props.put("mail.smtp.socketFactory.class",
"javax.net.ssl.SSLSocketFactory");
props.put("smtp.starttls.enable", "true");
props.put("mail.smtp.socketFactory.fallback", "false");
props.setProperty("mail.smtp.quitwait", "false");
session = Session.getDefaultInstance(props, this);
我试图端口25 + 587没有SSL的东西。我曾尝试与SSL东西端口465。电子邮件和密码是正确的(IVE硬codeD他们是肯定)。
I have tried port 25 + 587 without the SSL stuff. I have tried port 465 WITH the SSL stuff. The email and password are correct (Ive hard coded them to be sure).
我没有收到任何错误...所以什么问题?
I don't receive any errors... So whats the problem?
推荐答案
1)使用调试输出:
session.setDebug(true);
2)的Hotmail SMTP服务器启动在端口25或587非SSL连接,并使用STARTTLS初始连接后,因此,删除线
2) hotmail smtp server starts non-ssl connection on port 25 or 587, and uses starttls after initial connection; thus remove lines
<打击> props.put(mail.smtp.socketFactory.port,587);
props.put(mail.smtp.socketFactory.class,javax.net.ssl.SSLSocketFactory); 击>
props.put("mail.smtp.socketFactory.port", "587");
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
3)设置mimimum量则为:
3) mimimum amount of settings is then:
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.host", "smtp.live.com");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.auth", "true");
这假定端口是25,否则加props.put(mail.smtp.port,587);
this assumes port is 25, otherwise add props.put("mail.smtp.port", "587");
4),但更漂亮的外观这样的:
4) yet even nicer looks this:
...
props.put("mail.smtp.starttls.enable", "true");
Session session = Session.getDefaultInstance(props);
Transport trans = session.getTransport("smtp");
trans.connect("smtp.live.com", 25, "user", "pass");
现在您已连接,对交通运输使用方法
now you're connected, use methods of Transport
这篇关于使用JavaMail来从Hotmail发送?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!