Java 経由で電子メールを送信したい (yahoo、gmail、またはその他の部分からの電子メール)。
hereのコードを試しましたが、例外が発生します
javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
nested exception is:
java.net.ConnectException: Connection refused
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1972)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:642)
at javax.mail.Service.connect(Service.java:295)
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 myemailtesting.MyEmailTesting.main(MyEmailTesting.java:72)
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:432)
at java.net.Socket.connect(Socket.java:529)
at java.net.Socket.connect(Socket.java:478)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:319)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:233)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1938)
... 7 more
私が持っているコードは
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package myemailtesting;
/**
*
* @author xxxx
*/
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class MyEmailTesting {
public static void main(String[] args) {
System.out.println("This is EMAIL testing!!!");
// Recipient's email ID needs to be mentioned.
String to = "xx@gmail.com";
// Sender's email ID needs to be mentioned
String from = "xx@gmail.com";
// Assuming you are sending email from localhost
String host = "localhost";
// Get system properties
System.out.println("test 001");
Properties properties = System.getProperties();
System.out.println("test 002");
// Setup mail server
System.out.println("test 003");
properties.setProperty("mail.smtp.host", host);
// Get the default Session object.
System.out.println("test 004");
Session session = Session.getDefaultInstance(properties);
try {
// Create a default MimeMessage object.
System.out.println("test 005");
MimeMessage message = new MimeMessage(session);
System.out.println("test 006");
// Set From: header field of the header.
message.setFrom(new InternetAddress(from));
System.out.println("test 007");
// Set To: header field of the header.
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(to));
System.out.println("test 008");
// Set Subject: header field
message.setSubject("This is the Subject Line!");
System.out.println("test 009");
// Now set the actual message
message.setText("This is actual message");
System.out.println("test 010");
// Send message
Transport.send(message);
System.out.println("Sent message successfully....");
} catch (MessagingException mex) {
mex.printStackTrace();
}
}
}
デバッグのために、ステートメントを次のように使用していましたSystem.out.println("test 00X");
次のように出力されました
This is EMAIL testing!!!
test 001
test 002
test 003
test 004
test 005
test 006
test 007
test 008
test 009
test 010
javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
多くのコードを試しましたが、出力が得られません。いくつかの例外を取得しています。
どこかで、SMTP サーバーを稼働させておく必要があります。何をする必要があるのかわからない。apache commons が良い選択肢になると思います。
誰かが以下の手順で私を助けてくれますか
- 必要なjarファイル
- smptp の設定方法
- 電子メールを送信する (任意のサイト、つまり yahoo、gmail、または任意のプライベート電子メール ID から)
また
Javaで電子メールを送信するための段階的なプロセス...