1

Glassfishサーバーで常時実行され、データベース内の特定の時刻を検索してその時刻にメールを送信するJavaMailAPIを使用してメールアプリケーションを作成する方法。データベースで指定された特定の時間にメールを送信する必要があるJSFで記述されたWebアプリケーションがあります。

4

1 に答える 1

2

Gmailの場合は、以下のコードを使用してください

import org.apache.commons.mail.*;

public class GmailEmailWorking {

    public static void main(String[] args) {
        String myEmailId = "xyz@gmail.com";
        String myPassword = "password";
        String senderId = "xyz@yahoo.com";
        try {
            MultiPartEmail email = new MultiPartEmail();
            email.setSmtpPort(587);
            email.setAuthenticator(new DefaultAuthenticator(myEmailId, myPassword));
            email.setDebug(true);
            email.setHostName("smtp.gmail.com");
            email.setFrom(myEmailId);
            email.setSubject("Hi");
            email.setMsg("This is a test mail ... :-)\n\nPlease check attachements that I have sent.\n\nThanks,\nFahim");
            email.addTo(senderId);
            email.setTLS(true);

            EmailAttachment attachment = new EmailAttachment();
            attachment.setPath("/Users/fahadparkar/Desktop/Fahim/tables.xlsx");
            attachment.setDisposition(EmailAttachment.ATTACHMENT);
            attachment.setDescription("Excel");
            attachment.setName("tables.xlsx");
            email.attach(attachment);

            email.send();
            System.out.println("Mail sent!");
        } catch (Exception e) {
            System.out.println("Exception :: " + e);
        }
    }
}

以下は、必要なjarファイルのリストです。

他のサーバーから送信するには、以下の行で変更を行う必要があります

email.setSmtpPort(587);
email.setHostName("smtp.gmail.com");
于 2012-07-12T16:32:30.573 に答える