Eclipse中的Java简单电子邮件程序

我想制作一个简单的程序,您可以从命令行发送电子邮件。 我找到了这个教程’ http://www.tutorialspoint.com/java/java_sending_email.htm ‘,但下载却没有。 那么我在哪里可以获得JavaMail API和Java Activation Framework(JAF)以及如何将它放在我的类路径中。

基本上我正在寻找有人打破它,并告诉我如何制作电子邮件程序。

我正在使用Eclipse luna。

看看这个例子。 此示例只是将一个附件作为邮件发送。 附件quiz.txt的内容如下:

 What is the Capital of India?/New Delhi Where is the Taj Mahal?/Agra 

这是SendMailExample.java文件:

 import java.util.*; import javax.activation.*; import javax.mail.*; import javax.mail.internet.*; import javax.mail.Authenticator; import javax.mail.PasswordAuthentication; public class SendMailExample { private String from; private String to; private String subject; private String messageBody; private String fileName; private String host; private Properties properties; private MimeMessage message; private BodyPart messageBodyPart; private Multipart multipart; private Authenticator authenticator; public SendMailExample () { from = "sender@gmail.com"; to = "recipient@gmail.com"; subject = "Subject Testing"; messageBody = "

HAVE FAITH, AND STAY" + " CALM :-) I AM WITH YOU, OKAY :-)

"; fileName = "quiz.txt"; host = "smtp.gmail.com"; authenticator = new SMTPAuthenticator (); properties = System.getProperties (); properties.put ( "mail.smtp.host", host ); properties.put ( "mail.smtp.starttls.enable", "true" ); properties.put ( "mail.smtp.port", "587" ); properties.put ( "mail.smtp.auth", "true" ); } private void sendMail ( String from, String to, String subject, String messageBody, String fileName ) { try { Session session = Session.getDefaultInstance ( properties, authenticator ); message = new MimeMessage ( session ); message.setFrom ( new InternetAddress ( from ) ); message.addRecipient ( Message.RecipientType.TO, new InternetAddress ( to ) ); message.setSubject ( subject ); multipart = new MimeMultipart (); messageBodyPart = new MimeBodyPart (); messageBodyPart.setContent ( messageBody, "text/html" ); multipart.addBodyPart ( messageBodyPart ); messageBodyPart = new MimeBodyPart (); DataSource source = new FileDataSource ( fileName ); messageBodyPart.setDataHandler ( new DataHandler ( source ) ); messageBodyPart.setFileName ( fileName ); multipart.addBodyPart ( messageBodyPart ); message.setContent ( multipart ); Transport.send ( message ); System.out.println ( "Message send successfully...." ); } catch ( Exception me ) { me.printStackTrace (); } } private void performTask () { sendMail ( from, to, subject, messageBody, fileName ); } public static void main ( String[] args ) { new SendMailExample ().performTask (); } } /** * SimpleAuthenticator is used to do simple authentication * when the SMTP server requires it. */ class SMTPAuthenticator extends Authenticator { private static final String SMTP_AUTH_USER = "example@gmail.com"; private static final String SMTP_AUTH_PASSWORD = "somepassword"; public PasswordAuthentication getPasswordAuthentication () { String username = SMTP_AUTH_USER; String password = SMTP_AUTH_PASSWORD; return new PasswordAuthentication( username, password ); } }

你只需要这个mail.jar文件。

要编译,只需编写( mail.jar出现在C:\ install \ java \ mail \ mail.jar`位置):

 javac -classpath .;C:\install\java\mail\mail.jar SendMailExample.java 

要运行,请写:

java -classpath .; C:\ install \ java \ mail \ mail.jar SendMailExample

这会做:-)

看看这个库Commons Email它将简化你的任务