質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

解決済

1回答

16675閲覧

Javamailのsmtp.hostの設定値を何にしたらいいのか分からない

KasperHekmatyar

総合スコア81

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

0クリップ

投稿2017/06/29 05:51

###前提・実現したいこと
①javaを使ってメール送信を行いたいです。
しかしsmtp.hostとsmtp.portの設定の仕方が分からないです。
(既定で使用しているメールソフトは無いです。いつもブラウザでoffice365のアカウントにログインし、メールしています。なので、webで調べたoffice365のsmtpサーバー名を入れて実行しました。結果、駄目でした。)

②portについてですが、そもそもportはsmtpサーバのポートで
あって、自分のPCのポートのことではないのでしょうか?
(最初の頃はコマンドプロンプトを開いてnetstat-aで使用しているportを調べ、まだ使われていないportを把握してセットを行いました。しかし、途中で違うのではないかと考え、office365のポートをセットしました。)

④smtpサーバは自分のパソコン内にある訳ではないのでしょうか。

###発生している問題・エラーメッセージ

Exception in thread "main" javax.mail.MessagingException: Unknown SMTP host: smtp.office365.com; nested exception is: java.net.UnknownHostException: smtp.office365.com at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1970) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:642) at javax.mail.Service.connect(Service.java:317) at javax.mail.Service.connect(Service.java:176) at javax.mail.Service.connect(Service.java:125) at javax.mail.Transport.send0(Transport.java:194) at javax.mail.Transport.send(Transport.java:124) at softbank_simulator.Send_Mail.send(Send_Mail.java:77) at softbank_simulator.Send_Mail.main(Send_Mail.java:28) Caused by: java.net.UnknownHostException: smtp.office365.com at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:195) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:529) at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:317) at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:233) at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1938) ... 8 more

###該当のソースコード

java

1 2package softbank_simulator; 3 4import java.util.Calendar; 5import java.util.Properties; 6//import java.net.PasswordAuthentication; 7 8import javax.mail.Authenticator; 9import javax.mail.Message; 10import javax.mail.PasswordAuthentication; 11import javax.mail.Session; 12import javax.mail.Transport; 13import javax.mail.internet.InternetAddress; 14import javax.mail.internet.MimeMessage; 15 16public class Send_Mail { 17 18 /** 19 * 20 */ 21 public Send_Mail() { 22 // TODO 自動生成されたコンストラクター・スタブ 23 } 24 25 public static void main(String[] args) throws Exception { 26 27 send(); 28 } 29 30 public static void send() throws Exception { 31 Properties props = new Properties(); 32 33 // ServerSocket serversocket = new ServerSocket(9999); 34 // Socket socket = serversocket.accept(); 35 // Socket socket = new Socket ("localhost",9999); 36 // byte [] senddata = { 37 38 props.setProperty("mail.smtp.host", " smtp.office365.com"); 39 props.setProperty("mail.smtp.port", "587"); 40 props.setProperty("mail.smtp.auth", "true"); 41 props.setProperty("mail.debug", "true"); 42 43 props.setProperty("mail.smtp.connectiontimeout", "5000"); 44 props.setProperty("mail.smtp.timeout", "5000"); 45 46 class PasswordAuthenticator extends Authenticator { 47 48 private String username; 49 private String password; 50 51 PasswordAuthenticator(String username, String password) { 52 53 this.username = username; 54 this.password = password; 55 56 } 57 58 public PasswordAuthentication getPasswordAuthentication() { 59 60 return new PasswordAuthentication(username, password); 61 62 } 63 } 64 65 Session session = Session.getInstance(props, new PasswordAuthenticator("aaa","sss"); 66 MimeMessage msg = new MimeMessage(session); 67 68 msg.setRecipient(Message.RecipientType.TO, new InternetAddress("aaa@syahoo.co.jp")); 69 msg.setFrom(new InternetAddress("aa@yahoo.co.jp")); 70 msg.setSubject("JAVAメール"); 71 msg.setText("テストメールです"); 72 73 Calendar c = Calendar.getInstance(); 74 msg.setSentDate(c.getTime()); 75 76 Transport.send(msg); 77 78 } 79 80} 81

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ポートなどの設定は問題ないと思います。
一般法人向け Office 365 用の Outlook POP および Outlook IMAP の設定を見ると

||サーバー名|ポート|SSL (TLS) が必要|
|:--|:--:|--:||
送信メール (SMTP) サーバー:|smtp.office365.com|587|はい (STARTTLS)|

となっておいますので、SSLの設定を追加してください。

投稿2017/06/29 07:12

momon-ga

総合スコア4820

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KasperHekmatyar

2017/06/29 07:23

SSLの設定のやり方がよくわからないです。どこか分かりやすいHPご存知ではありませんか?
momon-ga

2017/06/29 07:35

ごめんなさい。誤解させたかも。設定というか、プロパティに値を追加してください。 setProperty("mail.smtp.starttls.enable", "true"); 「javamail office365 」で、ググってください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問