0

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(私のユーザー名)が表示されます

4

1 に答える 1

1

まず、よくある間違いに関するこの FAQ エントリをお読みください。

問題を解決するには、setSender の代わりに setFrom を使用してください。

于 2012-06-12T18:41:09.060 に答える