Gmailを利用してメールを送信するサンプル関数です
public void sendEmail(String from, ArrayList<String> to, String subject,
String content, boolean contentIsHtml) throws EmailException
{
try
{
Properties props = new Properties();
props.put("mail.transport.protocol", EmailConfig.getGmailTransportProtocol());
props.put("mail.smtp.host", EmailConfig.getGmailSMTPHost());
props.put("mail.smtp.socketFactory.port", EmailConfig.getGmailSMTPPort());
props.put("mail.smtp.socketFactory.class", EmailConfig.getSocketFactoryClass());
props.put("mail.smtp.auth", EmailConfig.getGmailAuthRequired());
props.put("mail.smtp.port", EmailConfig.getGmailSMTPPort());
SMTPAuthenticator authenticator = new SMTPAuthenticator();
Session session = Session.getDefaultInstance(props, authenticator);
//session.setDebug(true);
Transport transport = session.getTransport();
MimeMessage message = new MimeMessage(session);
message.setSubject(subject);
message.setSender(EmailUtil.getInternetAddress(
EmailConfig.getGmailUsername(), "jatin Shah"));
message.setRecipients(
RecipientType.TO,
EmailUtil.getInternetAddresses(to));
if(contentIsHtml)
message.setContent(content, "text/html");
else
message.setContent(content, "text/plain");
transport.connect();
transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));
transport.close();
System.out.println("Email Sent!!");
}
catch(Exception e)
{
e.printStackTrace();
throw new EmailException(e);
}
}
これにより、MyGmail アカウントを使用してメールが送信されます
テストでGmailアカウントから別のアカウントにメールを送信しています
ただし、メールを受信すると問題ありません...ただし、送信者のフルネームが表示されるようになりました
「Jatin Shah」(私の名前)の代わりに... bhatin.shah(私のユーザー名)が表示されます