- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我无法使用 Java 邮件 API 从我的雅虎 ID 发送电子邮件。我尝试了 Google 的不同选项,但失败了。请看看我下面的代码,如果我遗漏了什么,请告诉我。在我看来,Yahoo 不提供免费发送邮件的服务,但我不确定。请提供您对此的看法。
import javax.mail.*;
import javax.mail.internet.*;
import java.util.Properties;
public class MailExample {
private static final String SMTP_HOST_NAME = "smtp.mail.yahoo.com";
private static final int SMTP_HOST_PORT = 587;//465,587,25
private static final String SMTP_AUTH_USER = "dummyrls@yahoo.com";
private static final String SMTP_AUTH_PWD = "my password";
public static void main(String[] args) throws Exception{
new MailExample().test();
}
public void test() throws Exception{
Properties props = new Properties();
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.host", SMTP_HOST_NAME);
props.put("mail.smtp.auth", "true");
// props.put("mail.smtps.quitwait", "false");
Session mailSession = Session.getDefaultInstance(props);
mailSession.setDebug(true);
Transport transport = mailSession.getTransport();
MimeMessage message = new MimeMessage(mailSession);
message.setSubject("Testing SMTP-SSL");
message.setContent("This is a test", "text/plain");
message.addRecipient(Message.RecipientType.TO,
new InternetAddress("rlss@abc.com"));
transport.connect
(SMTP_HOST_NAME, SMTP_HOST_PORT, SMTP_AUTH_USER, SMTP_AUTH_PWD);
transport.sendMessage(message,
message.getRecipients(Message.RecipientType.TO));
transport.close();
}
}
上面的代码对于 Gmail 工作正常,但是对于 Yahoo 它会给出如下错误:
DEBUG: setDebug: JavaMail version 1.4.1 DEBUG: getProvider()
returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,
Sun Microsystems, Inc.,1.4.1] DEBUG SMTP: useEhlo true,
useAuth true
DEBUG SMTP: trying to connect to host "smtp.mail.yahoo.com", port 587,
isSSL false Exception in thread "main"
javax.mail.MessagingException: Could not connect to SMTP
host: smtp.mail.yahoo.com, port: 587; nested exception is:
java.net.ConnectException: Connection timed out: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1391)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:412)
at javax.mail.Service.connect(Service.java:288)
at com.sample.mailexample.MailExample.test(MailExample.java:313)
at com.sample.mailexample.MailExample.main(MailExample.java:291) Caused by:
java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:233)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:189)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1359)
... 4 more
我该如何解决这个问题?
最佳答案
使用 JavaMail API 从 Yahoo 发送电子邮件的完整代码如下:
package ripon.java.mail;
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
public class SendFromYahoo
{
public static void main(String [] args)
{
// Sender's email ID needs to be mentioned
String from = "test123@yahoo.com";
String pass ="test123";
// Recipient's email ID needs to be mentioned.
String to = "riponalwasim@yahoo.com";
String host = "smtp.mail.yahoo.com";
// Get system properties
Properties properties = System.getProperties();
// Setup mail server
properties.put("mail.smtp.starttls.enable", "true");
properties.put("mail.smtp.host", host);
properties.put("mail.smtp.user", from);
properties.put("mail.smtp.password", pass);
properties.put("mail.smtp.port", "587");
properties.put("mail.smtp.auth", "true");
// Get the default Session object.
Session session = Session.getDefaultInstance(properties);
try{
// Create a default MimeMessage object.
MimeMessage message = new MimeMessage(session);
// Set From: header field of the header.
message.setFrom(new InternetAddress(from));
// Set To: header field of the header.
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(to));
// Set Subject: header field
message.setSubject("This is the Subject Line!");
// Now set the actual message
message.setText("This is actual message");
// Send message
Transport transport = session.getTransport("smtp");
transport.connect(host, from, pass);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
System.out.println("Sent message successfully....");
}catch (MessagingException mex) {
mex.printStackTrace();
}
}
}
关于java - 使用 Javamail API 将邮件从雅虎 ID 发送到其他电子邮件 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11356237/
所有, 我一直在一组文档上运行Y!LDA(https://github.com/shravanmn/Yahoo_LDA),结果看起来不错(或至少达到我的期望)。现在,我想使用产生的主题对语料库执行反向
我正在尝试订阅 onTimeIndexChanged 媒体播放器事件。只要我订阅的 View 保持专注,它就可以正常工作。当我按下后退按钮或小部件按钮时,我的 View 变得模糊并且不再接收事件。 这
我必须将 yahoo api 集成到我的应用程序中。谁能给我提供步骤吗? 由于我们已经集成了雅虎,所以我们从雅虎获得了一个 token key ,输入 key 后我们进入应用程序。在雅虎登录后是否有任
我直接从 Yahoo! 下载股票数据财务。 我比较两个日期的“Adj Closed”以获得增长率。例如,1987 年 7 月 20 日,KO(可口可乐)调整后的收盘值为 1.71,2013 年 7 月
我正在尝试遵循 Yahoo hadoop 教程: http://developer.yahoo.com/hadoop/tutorial/module3.html#vm 一切正常,直到我尝试根据“Ecl
我有现有的网络应用程序和专用的 Yahoo App在职的。它使用 OAuth2 Implicit Grant Flow 现在我想设置另一个按相同原理工作的域。我创建了新的 Yahoo App使用新的回
我正在使用 Dope-openid我网站上的图书馆,但在使用雅虎帐户登录时,用户会收到上面的消息 单击“同意”以使用您的 Yahoo! 登录 www.mywebsitename.com身份证。 警告:
我在以下网址找到了有关如何从Yahoo下载历史日内数据的在线文章:http://www.quantshare.com/sa-426-6-ways-to-download-free-intraday-a
这是我在雅虎上的问题的一种重新发布!论坛。只是我更频繁地提到 StackOverflow ...... 我的问题如下:而 Yahoo! OAuth http://developer.yahoo.com
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 8 年前。 Improve this ques
我如何从 yahoo api 接收到接收到的日期时间的特定时区? 默认时区是什么? http://hk.finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&
我如何从 yahoo api 接收到接收到的日期时间的特定时区? 默认时区是什么? http://hk.finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&
为了使用 jQuery 发出跨域 AJAX 请求,我尝试使用 YQL RSS。 select * from rss where url='https://www.top1000funds.com/fe
我知道我可以使用 jquery、.ajax 和 jsonp 进行跨域 ajax 调用。我正在调用雅虎股票报价 API。一切正常,结果正在返回(我可以使用 Fiddler 看到。)问题是我收到一个 js
我一直在开发一个使用雅虎财经的 json 获取股票数据的应用程序,但我在错误代码中遇到了问题。它在 else 语句中显示未解析的标识符 jsonDict 和预期的表达式错误。 这是代码。 import
这是 Yahoo Aviate Launcher 的屏幕截图之一: 我想做的就是这样。当用户滑动到启动器的最右侧页面(按字母顺序排列的应用程序列表)时,此屏幕截图的左侧仍然可以保留为左侧页面的一部分。
我正在尝试与基于 Django 的 Web 应用程序中现有商家帐户的 Yahoo! 的 Checkout API 集成。我已经成功地集成了他们的 Catalog API,但由于某种原因,我根本无法让
我每天都在处理 HTML 电子邮件营销事件,在过去的 24 小时内,我发现我所有的电子邮件都是左对齐的。这包括我之前构建的电子邮件事件(已在 Yahoo! Mail 中测试并用于对齐中心)。 有没有人
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭10 年前。 Improve th
我正在尝试从 Yahoo! 检索市场数据财务和脚本多年来一直运行良好,但最近,它停止显示道琼斯数据。这是网址: http://download.finance.yahoo.com/d/quotes.c
我是一名优秀的程序员,十分优秀!