在Eclipse上的Gradle项目中运行JavaMail API

时间:2016-06-25 06:09:57

标签: java eclipse gradle

我的Eclipse IDE中有一个Gradle项目,我需要能够作为学校项目的一部分发送电子邮件收据。我查看了此链接http://www.tutorialspoint.com/java/java_sending_email.htm以尝试创建最基本的电子邮件。我已经尝试了发送一封简单的电子邮件"例子,我把它作为我的错误:

refs/heads/

我猜测我没有正确安装JavaMail API和Java Activation Framework(JAF)。我已经按照一些指导说明了如何做到这一点。我所做的是右键点击gradle项目 - >属性 - > Java构建路径 - > “库”选项卡 - >添加外部JAR ..我添加了JAF和JavaMail jar文件(activation-1.1.1.jar和mail-1.4.5.jar)。我还添加了

Usage - java org.mortbay.jetty.Main [<addr>:]<port>
Usage - java org.mortbay.jetty.Main [<addr>:]<port> docroot
Usage - java org.mortbay.jetty.Main [<addr>:]<port> -webapp myapp.war
Usage - java org.mortbay.jetty.Main [<addr>:]<port> -webapps webapps
Usage - java -jar jetty-x.x.x-standalone.jar [<addr>:]<port>
Usage - java -jar jetty-x.x.x-standalone.jar [<addr>:]<port> docroot
Usage - java -jar jetty-x.x.x-standalone.jar [<addr>:]<port> -webapp myapp.war
Usage - java -jar jetty-x.x.x-standalone.jar [<addr>:]<port> -webapps webapps

到我的build.gradle文件。任何有关如何使这项工作的帮助将不胜感激。

这是我使用的代码。

compile group: 'javax.mail', name: 'mail', version: '1.4.5'
compile group: 'javax.activation', name: 'activation', version: '1.1.1'

1 个答案:

答案 0 :(得分:0)

您必须提供适当的设置才能发送电子邮件。喜欢

String host = "localhost";  // instead of localhost you have to give your hostname.

如果您想通过Gmail发送邮件,请使用以下代码:

<强> SendEmail.java

import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class SendEmail{

    public static void main(String[] args) {

        final String username = "username@gmail.com";
        final String password = "password";

        Properties props = new Properties();
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.host", "smtp.gmail.com");
        props.put("mail.smtp.port", "587");

        Session session = Session.getInstance(props,
          new javax.mail.Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(username, password);
            }
          });

        try {

            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress("from-email@gmail.com"));
            message.setRecipients(Message.RecipientType.TO,
                InternetAddress.parse("to-email@gmail.com"));
            message.setSubject("Testing Subject");
            message.setText("Welcome Message");

            Transport.send(message);

            System.out.println("Mail Sent Successfully");

        } catch (MessagingException e) {
            throw new RuntimeException(e);
        }
    }
}