私は「Javaで電子メールを送信しようとしています。以前にこれを行ったことがありますが、今使用しているISPは、このコードを使用しているためすべてのポートをブロックしているようです。
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "587");
// tried props.put("mail.smtp.port", "25");
//props.put("mail.smtp.port", "8889"); For my personal host setting
props.put("mail.smtp.timout", "10000");
問題は私が得続けることです Could not connect to port error
したがって、ISPがすべてのポートをブロックしている場合は、電子メールを送信する可能性のある方法があります。 (一部のISPでは機能しますが、コードを実行する必要があるものでは機能しません)
回答:
回答№1は0それが助けになるならこれを試してください(Gmail用)。
以下の行のいくつかは必須ではないかもしれませんが、私は各行をテストしていません。これらのキーと値のペアを使用してうまく動作しています。
Properties props = new Properties();
props.put("mail.smtp.user", senderEmailAddress);
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "465");
props.put("mail.smtp.starttls.enable","true");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.socketFactory.port", port_port);
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.socketFactory.fallback", "false");
//SecurityManager security = System.getSecurityManager();
私のローカルEメールにはこれを使いました(非SSL)
System.setProperty("sun.security.ssl.allowUnsafeRenegotiation","true");
Properties props = new Properties();
props.put("mail.smtp.user", senderEmailAddress);
props.put("mail.smtp.host", host_name); //for me : mail.mydomain.com
props.put("mail.smtp.port", smtp_port); //mine is "25"
props.put("mail.transport.protocol", "smtp");
props.setProperty("mail.smtp.quitwait", "false");
props.put("mail.smtp.auth", "true");
//props.put("mail.smtp.starttls.enable","true");
//props.put("mail.smtp.socketFactory.port", smtp_port);
//props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
//props.put("mail.smtp.socketFactory.fallback", "false");
//SecurityManager security = System.getSecurityManager();