JavaMailを使用してメールの送受信を行おうとしています。
G-mailのサンプルがネットでいろいろありましたので、
いろいろ取り入れて、下記のような処理でメール送信できることを確認したのですが
GmailではなくYahooメールでやってみようと試みたところうまくいきません…。
■G-Mailのとき
(いろんなサイト様を拝見してできたもののため、不要処理もあるかもしれません・・・)
==================================================================================
Properties p = new Properties();
p.setProperty("mail.pop3.host", "pop.gmail.com");★①
p.setProperty("mail.pop3.port", "995");
p.setProperty("mail.pop3.connectiontimeout", "20000");
p.setProperty("mail.pop3.timeout", "20000");
p.setProperty("mail.pop3.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
p.setProperty("mail.pop3.socketFactory.fallback", "false");
p.setProperty("mail.pop3.socketFactory.port", "995");
p.setProperty("mail.smtp.host", "smtp.gmail.com");★②
p.setProperty("mail.smtp.port", "465");
p.setProperty("mail.smtp.connectiontimeout", "20000");
p.setProperty("mail.smtp.timeout", "20000");
p.setProperty("mail.smtp.auth", "true");
p.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
p.setProperty("mail.smtp.socketFactory.fallback", "false");
p.setProperty("mail.smtp.socketFactory.port", "465");
p.setProperty("mail.debug", "false");
Session session = Session.getInstance(p, new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(getAddress(), getPassword());
}
});
URLName url = new URLName("pop3s", "pop.gmail.com", 995, null, "Googleアカウント", "Gogleパスワード");★③
store = session.getStore(url);
store.connect();
==================================================================================
変更箇所は下記のとおりになっております。
★①:props.setProperty("mail.pop3.host", "pop.mail.yahoo.co.jp")
★②:props.setProperty("mail.smtp.host", "smtp.mail.yahoo.co.jp")
★③URLName url = new URLName("pop3s", "pop.mail.yahoo.co.jp", 995, null, "Yahooアカウント", "Yahooパスワード");
端末側で設定しなければならないことなどありますでしょうか。
また、E-mailの場合追加で実施しなければならないような処理がありますでしょうか。
アドバイスいただけると助かります。
--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com にメールを送信します。
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
アドバイスありがとうございます。
https://code.google.com/p/javamail-android/downloads/list
上記の3つのjarをつかっております。
G-mailとE-mailではPOPとSMTPアドレスが違うだけじゃないかなと思って取り組んでおりました。
アドバイスいただき確認したところ
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1443229334
の回答にいきつきました。
この内容を取り込んでみたのですが送信できず…と思っていたのですが、
教えて頂いた、「session.setDebug(true);」を入れ込んでみたところ、
出力ログになにやら、yahooのWebサイトが指定されており、そこをごらんよと…
そこには迷惑メールうんちゃら…と書かれており、いったんブラウザのyahooメールから送信してごらんよ
という内容が書かれておりました。
早速実行し、その後再び実施してみると送信できました!しかしあくまで、いろんなWEBサイト様からコードを引っ張ってきたのみ…
ほとんど理解できておりません。もっと勉強します。
#せっかくなんで受信処理も作ってみたいと思います
こんばんは。
team.hiroqです。
無事解決されたみたいで良かったです。
お勉強中と思われるので不要かもしれませんが、Javamail-androidを商用として使うにはライセンスに注意が必要です
https://groups.google.com/forum/m/#!topic/android-group-japan/O1YHmbqacwE
参考情報ですが念のため。
--
アドバイスありがとうございます。