をホストするルートがない私は、メール送信のためのアプリケーションを作成するためのチュートリアルの多くを試みたが、すべてのコードが同じエラーがスローされます。javax.mail.MessagingException:SMTPホストに接続できませんでした:smtp.gmail.com、ポート:587; java.net.NoRouteToHostException:
javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 587; nested exception is: java.net.NoRouteToHostException: No route to host (Host unreachable)
私はUbuntuの16.04とEclipse Neon.1aを使用リリース(4.6.1)
これは私のコードです:
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.mail.internet.MimeMessage;
public class SendEmail {
public static void main(String args[]){
try{
String host ="smtp.gmail.com" ;
String user = "[email protected]";
String pass = "myPassword";
String to = "[email protected]";
String from = "[email protected]";
String subject = "My first email";
String messageText = "Some text";
boolean sessionDebug = false;
Properties props = System.getProperties();
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", host);
props.put("mail.smtp.port", "587");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.required", "true");
//java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
Session mailSession = Session.getDefaultInstance(props, null);
mailSession.setDebug(sessionDebug);
Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = {new InternetAddress(to)};
msg.setRecipients(Message.RecipientType.TO, address);
msg.setSubject(subject); msg.setSentDate(new Date());
msg.setText(messageText);
Transport transport=mailSession.getTransport("smtp");
transport.connect(host, user, pass);
transport.sendMessage(msg, msg.getAllRecipients());
transport.close();
System.out.println("message send successfully");
}catch(Exception ex)
{
System.out.println(ex);
}
}}
私は多分追加のソフトウェア、または何か他のものをインストールする必要がありますか?
UPDATE:
問題は私の無線ルータのどこかにあります。
私は携帯電話でホットスポット経由でモバイル(3G)インターネットを使用しました。
誰かがルータの設定を経験している場合、問題を解決できるようになりました。
はあなたから 'ピングsmtp.gmail.com'することができ、あなたがGoogleのメールサーバに到達し得ることができないようですあなたのコンピュータ? –
は、クライアントマシン上のファイアウォールで、発信コールをブロックしたり、相手先のどこかでブロックしたりする可能性があります。詳細はこちらをご覧ください。https://coderanch.com/t/476146/java/SMTP-Send-Email-Java-Mail –
申し訳ありませんが、私はよく理解しませんでした。「ping smtp.gmail」とはどういう意味ですか? com '? – elano7