【发布时间】:2016-10-27 19:00:00
【问题描述】:
我的 Eclipse IDE 中有一个 Gradle 项目,我需要能够发送电子邮件收据作为学校项目的一部分。我查看了这个链接http://www.tutorialspoint.com/java/java_sending_email.htm 来尝试创建最基本的电子邮件。我已经尝试过“发送简单的电子邮件”示例,但这是我的错误:
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
我猜我没有正确安装 JavaMail API 和 Java Activation Framework (JAF)。我已经遵循了一些关于如何做到这一点的指南。我所做的是右键单击 gradle project -> Properties -> Java Build Path -> Libraries tab -> Add External JARs .. 我添加了 JAF 和 JavaMail jar 文件(activation-1.1.1.jar 和 mail-1.4 .5.jar)。我也加了
compile group: 'javax.mail', name: 'mail', version: '1.4.5'
compile group: 'javax.activation', name: 'activation', version: '1.1.1'
到我的 build.gradle 文件。任何有关如何使这项工作的帮助将不胜感激。
这是我使用的代码。
// File Name SendEmail.java
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
public class SendEmail
{
public static void main(String [] args)
{
// Recipient's email ID needs to be mentioned.
String to = "abcd@gmail.com";
// Sender's email ID needs to be mentioned
String from = "web@gmail.com";
// Assuming you are sending email from localhost
String host = "localhost";
// Get system properties
Properties properties = System.getProperties();
// Setup mail server
properties.setProperty("mail.smtp.host", host);
// Get the default Session object.
Session session = Session.getDefaultInstance(properties);
try{
// Create a default MimeMessage object.
MimeMessage message = new MimeMessage(session);
// Set From: header field of the header.
message.setFrom(new InternetAddress(from));
// Set To: header field of the header.
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
// Set Subject: header field
message.setSubject("This is the Subject Line!");
// Now set the actual message
message.setText("This is actual message");
// Send message
Transport.send(message);
System.out.println("Sent message successfully....");
}catch (MessagingException mex) {
mex.printStackTrace();
}
}
}
【问题讨论】:
-
发布您迄今为止编写的代码以发送电子邮件。
-
我使用了与我帖子中教程链接中提供的完全相同的代码。
-
您的错误似乎与 JavaMail 无关。当您使用不正确的参数启动 Jetty(Java 网络服务器)时,您会遇到错误。您可能想要描述您尝试启动应用程序的方式,以及您正在使用的 Eclipse 项目的类型。
-
@MarkRotteveel 我不确定我是如何运行 Jetty 但我的应用程序正在使用 Gradle 项目。
-
那么,您究竟是如何尝试运行您的应用程序(哪个命令行,或哪个 Eclipse 选项)?