java- 如何使用服务发送电子邮件?

我有一个简单的Web应用程序,不同的用户可以登录它。其中一个重要功能是用户可以访问文档并将其内容的电子邮件发送给外部人员(如第三方)。以下是电子邮件的外观,以提供一个想法:

http://img4.mukewang.com/6333fbfe0001373b08760497.jpg

这是非常不言自明的,如果我想在显示的字段框中,我可以发送给多个用户。有了这一切,我正在使用Java Mail API使其工作,并且在点击发送按钮后,它直接发送给收件人。完全没有问题。abc@example.com,efg@hotmail.com,...


现在,我想通过将此电子邮件功能作为服务来修改它。这意味着当我发送电子邮件时,填写的内容和信息将存储在MYSQL的表中,服务(在后台运行)将从表中拾取并进行发送。


这是我的函数:


public void sendEmail(String recipient, String subject, String content,

                      String host, String port, final String senderaddress, 

                      final String password) {

    try {

        System.out.println("Please Wait, sending email...");


        /*Setup mail server */

        Properties props = new Properties();

        props.put("mail.smtp.host", host); //SMTP Host

        props.put("mail.smtp.port", port); //TLS Port

        props.put("mail.smtp.auth", "true"); //enable authentication

        props.put("mail.smtp.starttls.enable", "true"); //enable STARTTLS

        //create Authenticator object to pass in Session.getInstance argument

        Authenticator auth = new Authenticator() {

            //override the getPasswordAuthentication method

            protected PasswordAuthentication getPasswordAuthentication() {

                return new PasswordAuthentication(senderaddress, password);

            }

        };

        Session session = Session.getInstance(props, auth);

        session.setDebug(true);


        // Define message

        MimeMessage message = new MimeMessage(session);

        // Set From: header field of the header.

        message.addRecipients(Message.RecipientType.TO,

                              InternetAddress.parse(recipient));

        // Set Subject: header field

        message.setSubject(subject);


    }

}

这可以按照我想要的方式完成,因为我不确定如何使它工作?


慕森王
浏览 77回答 1
1回答

慕的地10843

1)从UI点击“发送邮件”按钮后,您需要调用一种方法来保存数据库中的收件人,主题,内容等数据2)编写电子邮件发送者服务,从数据库表中检索non_delivered/待处理的邮件,并通过Java邮件API发送3)在预定专家服务的帮助下安排电子邮件发件人服务
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java