私はJavaで電子メールアプリケーションを構築しています.これを使ってみましたが、このコードを実行してもエラーは発生しません.ですが、メールボックスを確認すると、そのようなメールは届いていません。なぜこれが起こっているのか、誰かが私に説明できますか?
また、最後に「正常に送信されました」というメッセージを出力しましたが、どういうわけかメッセージが出力されず、エラーが何であるかわかりません。助けていただければ幸いです。
public class Email
public static void main(String[] args) {
// TODO code application logic here
String[] to = {"pqr@gmail.com"};
String from = "abc@gmail.com";
String host = "smtp.gmail.com";
String user_name = "abc@gmail.com";
String password = "xyz";
try{
Properties properties = System.getProperties();
properties.setProperty("smtp.gmail.com", "imaps");
properties.put("smtp.starttls.enable", "true");
properties.put("mail.smtp.host",host);
properties.put("mail.smtp.user",user_name);
properties.put("mail.smtp.password", password);
properties.put("mail.smtp.port", "465");
properties.put("mail.smtp.auth", "true");
//properties.put
Session session = Session.getDefaultInstance(properties,null);
//Store store = session.getStore("imaps");
MimeMessage message = new MimeMessage(session);
// basically stores one or more addresses , whom the mail has to be sent
//InternetAddress[] send_to = { new InternetAddress(to) };
//InternetAddress[] send_from = { new InternetAddress(from) };
InternetAddress[] toAddress = new InternetAddress[to.length];
for(int i = 0; i < to.length ;i++)
{
toAddress[i] = new InternetAddress(to[i]);
}
for(int i = 0 ; i < toAddress.length ; i++){
message.addRecipient(Message.RecipientType.TO, toAddress[i]);
}
message.setFrom(new InternetAddress(from));
message.setSubject("Testing email");
message.setText("this is a test");
Transport transport = session.getTransport("smtp");
transport.connect(host, user_name, password);
transport.send(message);
transport.close();
System.out.println("Message successfully sent");
}catch(Exception e){
e.printStackTrace();
}
}
}