import java.net.URL; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.Authenticator; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Multipart; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import org.apache.commons.mail.DefaultAuthenticator; import org.apache.commons.mail.Email; import org.apache.commons.mail.EmailAttachment; import org.apache.commons.mail.EmailException; import org.apache.commons.mail.HtmlEmail; import org.apache.commons.mail.MultiPartEmail; import org.apache.commons.mail.SimpleEmail; import org.junit.After; import org.junit.Before; import org.junit.Test; public class JavaMail { @Test public void defaultSendMail() throws Exception { String host = "smtp.sina.com";// "smtp.gmail.com" String port = "25"; //"465" Properties props = new Properties(); props.setProperty("mail.smtp.host", host); props.setProperty("mail.smtp.port", port); props.setProperty("mail.smtp.auth", "true"); props.setProperty("mail.smtp.ssl.enable", "false");//"true" props.setProperty("mail.smtp.connectiontimeout", "5000"); final String user = "***@sina.com"; //"***@gmail.com" final String pwd = "***"; Session session = Session.getDefaultInstance(props, new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { //登录用户名密码 return new PasswordAuthentication(user,pwd); } }); session.setDebug(true); Transport transport = session.getTransport("smtp");//"smtps" transport.connect(host,user,pwd); //消息 MimeMessage message = new MimeMessage(session); setMailContent(message);//。。。。。。。。。。。。。。。。。。 message.setSubject("邮件标题"); //消息发送者接收者设置 //message.setFrom(new InternetAddress(user,"发件人名称")); message.addRecipients(Message.RecipientType.TO,new InternetAddress[]{ new InternetAddress("to1@163.com","to1昵称"), new InternetAddress("to2@163.com","to2昵称") }); message.saveChanges(); //发送 transport.send(message); //Transport.send(message); transport.close(); } //设定邮件内容 private void setMailContent(MimeMessage message) throws MessagingException { //方法一:只有文本邮件 //message.setContent("邮件内容..", "text/plain");//纯文本内容 //方法二:添加附件的邮件 Multipart part = new MimeMultipart(); BodyPart bodypart1 = new MimeBodyPart(); bodypart1.setText("邮件内容"); part.addBodyPart(bodypart1 ); BodyPart bodypart2 = new MimeBodyPart(); bodypart2.setFileName("fileName"); bodypart2.setDataHandler(new DataHandler(new FileDataSource("f:\\ok.txt"))); part.addBodyPart(bodypart2); message.setContent(part); } @Test public void apacheSendMail() throws Exception { SimpleEmail email = new SimpleEmail(); email.setHostName("smtp.gmail.com"); email.setSSL(true); email.setSmtpPort(465); // email.setSslSmtpPort("465"); email.setTLS(true);//gmail email.setAuthenticator(new DefaultAuthenticator("h***@gmail.com", "***")); email.setFrom("h***@gmail.com"); email.setSubject("TestCommonMail"); email.setCharset("gbk"); //文本邮件 email.setMsg("This is a test mail ... :-)"); email.addTo("**to@qq.com"); email.send(); } @Test public void apacheSendHtmlMail() throws Exception { HtmlEmail email = new HtmlEmail(); email.setHostName("smtp.gmail.com"); email.setSSL(true); email.setSmtpPort(465); email.setTLS(true);//gmail email.setAuthenticator(new DefaultAuthenticator("h***@gmail.com", "***")); email.setFrom("h***@gmail.com"); email.addTo("**to@qq.com"); email.setSubject("TestCommonMail"); email.setCharset("gbk"); //html邮件 String cid = email.embed(new URL("http://www.google.com.tw/intl/en_com/images/srpr/logo1w.png"), "google logo"); email.setHtmlMsg("<html>The logo - <img src='cid:"+cid+"'></html>"); email.send(); } @Test public void apacheSendAttachMail() throws Exception { MultiPartEmail email = new MultiPartEmail(); email.setHostName("smtp.gmail.com"); email.setSSL(true); email.setSmtpPort(465); email.setTLS(true);//gmail email.setAuthenticator(new DefaultAuthenticator("h***@gmail.com", "***")); email.setFrom("h***@gmail.com"); email.addTo("**to@qq.com"); email.setSubject("TestCommonMail"); email.setMsg("This is a test mail ... :-)"); email.setCharset("gbk"); EmailAttachment attach = new EmailAttachment(); attach.setName("attachFileName"); attach.setPath("f:\\ok.txt"); attach.setDescription(EmailAttachment.ATTACHMENT); email.attach(attach ); email.send(); } }
相关推荐
标题中的"apache-james java发送邮件服务器"指的是使用Apache James作为邮件发送平台,通过Java编程语言进行配置和操作。 Apache James的主要特点和知识点包括: 1. **开源与社区支持**:Apache James是由Apache...
Apache Commons Email库是Java中一个强大的工具,它简化了构建和发送电子邮件的过程。在这个例子中,我们将深入探讨如何使用Apache Commons Email库在Java中实现邮件发送。 首先,你需要在项目中引入Apache Commons...
Apache James邮件服务器是一款开源的、基于Java的全功能邮件服务器,它支持SMTP、POP3和IMAP协议,为企业和个人提供了一种可靠且可扩展的邮件处理解决方案。在本项目中,我们将探讨如何利用Apache James来实现邮件的...
这个功能涉及到多个Java库和技术,包括Apache POI用于处理Excel文件,Quartz作为定时任务调度器,以及JavaMail API来发送电子邮件。 首先,Apache POI是Java中用于读写Microsoft Office格式文件(如Excel)的开源库...
本篇文章将详细讲解如何利用Java实现邮件发送,并结合Apache的相关库来创建邮件发送模板,以提升效率和用户体验。 首先,JavaMail API是Java中用于处理电子邮件的主要库。它提供了丰富的API,可以用来创建、发送和...
以上代码片段展示了如何在不生成临时Excel文件的情况下,使用JavaMail API和Apache POI发送带有Excel附件的邮件。这种方法既高效又节省资源,尤其适用于处理大量数据时。记得在完成邮件发送后,关闭所有打开的流,以...
在实际开发中,除了直接使用Java Mail API,还可以选择一些成熟的Java邮件发送库,例如Apache Commons Email、Spring Framework的MailSender接口等,它们提供了更友好的API和额外的特性,可以帮助开发者快速实现邮件...
这个`run()`方法应该使用JavaMail API或者第三方库(如Apache Commons Email)来实现邮件的创建、设置属性和发送。 邮件发送的基本步骤包括: 1. 创建`Session`对象,设置邮件服务器的相关参数,如SMTP主机地址、...
综上所述,Java通过JavaMail API和Apache POI库可以实现电子邮件的发送、接收以及Excel文件的处理。在Spring框架中,这些功能可以更加方便地集成和管理,提高开发效率。通过编写相应的逻辑,你可以创建一个自动化...
总之,Apache Commons Email为Java开发者提供了一个强大且易于使用的邮件发送工具,通过简单的代码即可实现包括发送验证码在内的各种邮件功能。在实际开发中,结合业务需求进行适当的优化和扩展,可以极大地提升开发...
在IT行业中,发送电子邮件是常见的任务,特别是在自动化脚本、通知系统或服务器...通过`SendMail.java`文件,我们可以学习到如何使用这个库来创建、配置和发送电子邮件,从而在项目中实现更高效、更可靠的邮件通信。
Java发送邮件是Java编程中的一项常见任务,尤其在企业级应用和自动化通知系统中非常普遍。本项目基于Maven构建,但如果你不使用Maven,你需要手动添加以下三个关键的JAR包:`mail.jar`,`commons-email-X.X.jar`,...
8. **第三方库**:除了JavaMail API,还有许多第三方库简化了邮件发送过程,如Apache Commons Email和Spring框架的Email支持。这些库通常提供了更友好的API,可以更轻松地处理复杂邮件内容和模板。 在压缩包中的...
在Java编程语言中,发送邮件和短信是常见的通信方式,特别是在自动化通知、客户服务或系统集成中。下面将详细讲解这两个主题。 ### 发送邮件 JavaMail API是Java平台上的一个标准库,用于处理电子邮件的发送和接收...
Apache邮件工具能够帮助用户实现基本的邮件发送、接收和管理功能,包括创建邮件、发送邮件到指定地址、设置邮件过滤规则、收发附件等。 在实际应用中,Apache James的使用通常涉及到以下几个关键知识点: 1. **...
总结来说,Java邮件发送涉及到JavaMail API的使用,以及可能的辅助库如Apache Commons Email,它们可以帮助我们方便地构造和发送邮件。在实际开发中,理解这些API的工作原理和用法,结合邮件服务器的配置,就能实现...
Java开源邮件服务器Apache James是基于Java技术构建的一款强大的邮件服务器软件。它的源代码开放,允许开发者深入了解其工作原理,并可根据需求进行定制化开发。Apache James 2.3.2是该项目的某个稳定版本,提供了...
总结起来,"apache-skywalking-java-agent-8.9.0"是SkyWalking项目中用于监控JVM服务的重要组件,通过其强大的功能,可以帮助开发者和运维人员深入了解和优化他们的Java应用性能。通过学习和掌握SkyWalking的使用,...
JavaMail 是一个强大的开源库,用于在Java应用程序中发送和接收电子邮件。它提供了与各种邮件协议(如SMTP、POP3和IMAP)交互的接口,包括支持SSL/TLS加密的安全连接,以及MIME多部分消息处理,使得可以发送包含附件...
`commons-email`是Apache Commons项目的一部分,它提供了一个简单且灵活的API来创建和发送电子邮件。在`java`开发中,`commons-email`库极大地简化了邮件发送的过程,无需深入了解底层的SMTP协议。以下是一个基于`...