最近想用javamail做一个本地发送邮件的功能,先把代码,拿出来,等做的时候,再研究一下是如何实现的。
Properties properties = null;
try{
if (smtpHost == null)
throw new MessagingException("smtpHost not found");
if (user == null)
throw new MessagingException("user not found");
if (password == null)
throw new MessagingException("password not found");
//获取邮件信息
mailTo = mailInfo.getMailTo();
mailFrom = mailInfo.getMailFrom();
subject = mailInfo.getSubject();
properties = System.getProperties();
properties.put("mail.smtp.host", "localhost");//设置smtp主机
// properties.put("mail.smtp.auth", "true");//使用smtp身份验证
// properties.put("mail.smtp.port", "25");
// MyAuthenticcator authenticcator = new MyAuthenticcator(user,password);
properties.put("mail.smtp.auth", "false");
Session session = Session.getDefaultInstance(properties);
//获得邮件会话对象
MimeMessage mimeMsg = new MimeMessage(session);//创建MIME邮件对象
if (mailFrom != null)//设置发件人地址
{
mimeMsg.setFrom(new InternetAddress("test@fdsf.com"));
}
if (mailTo != null)//设置收件人地址
{
mimeMsg.setRecipients(Message.RecipientType.TO, parse(mailTo));
}
if (subject != null)//设置邮件主题
{
mimeMsg.setSubject(subject, "GBK");
}
//设置邮件格式为html
content = mailInfo.getContent();
if(content != null)
{
//mimeMsg.setContent(content,"text/html"); //增加 Multipart 到信息体
mimeMsg.setContent(content,"text/html;charset=GBK"); //增加 Multipart 到信息体
}
/* MimeBodyPart part = new MimeBodyPart();//mail内容部分
part.setText(content == null ? "" : content, "GBK");
part.setContent(content.toString(),"text/html;charset=GBK");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(part);//在 Multipart 中增加mail内容部分
mimeMsg.setContent(multipart);
mimeMsg.setContent(multipart);*/
//发送邮件
mimeMsg.saveChanges();//存储邮件信息
Transport.send(mimeMsg); //发送邮件
}catch (Exception e) {
// TODO: handle exception
// e.printStackTrace();
throw new MessagingException("send mail failed",e);
}finally{
content = null;
subject = null;
mailFrom = null;
mailTo = null;
properties = null;
}
做软件快三年了,最近年末了,突然感觉做了这么久没有什么沉淀下来,觉得经常看别人的技术贴,看完,用完,然后忘记,最后什么都没有留下。
今天偶然去了一下csdn看到了一片关于程序员应该做的事情,其中有一条就是写技术blog,感觉自己平时是太懒了点,平时遇到很多问题,解决之后,回头又忘记怎么解决了,决定以后也谢谢blog,把平时遇到的问题以及一些心得写下来,供自己和大家参考。
分享到:
相关推荐
Apache James是一个开源的邮件服务器,它可以作为本地的邮件服务器,用于测试或企业级邮件服务。James的主要特性包括: 1. **SMTP服务器**:处理邮件的发送,支持身份验证和安全连接(如SSL/TLS)。 2. **POP3和...
因此,我们将基于标题“实现后台自动转发邮件”以及描述“实现后台自动转发邮件,很好地利用了javamail的优势”,来详细阐述如何利用JavaMail实现邮件自动转发的相关知识点。 ### 一、JavaMail简介 JavaMail API是...
### James+Javamail构建邮件服务 #### 关于James与Javamail - **Apache James**:作为Apache组织的子项目之一,James是一款完全采用纯Java技术开发的邮件服务器解决方案,支持SMTP(简单邮件传输协议)、POP3...
它充当了一个Mail User Agent (MUA),即邮件用户代理的角色,同时也能够像Sendmail这样的Mail Transfer Agent (MTA)一样进行邮件转发。 #### 二、JavaMail API的主要组成部分 JavaMail API主要由以下几个部分组成...
用户可以通过邮件客户端软件与POP3服务器交互,将邮件保存在本地。 IMAP(Internet Message Access Protocol)协议则提供了比POP3更为丰富的功能,如摘要浏览、选择性下载附件以及在线邮件管理等。IMAP4是IMAP的...
在JavaMail API中,基于Java的应用程序将通过与本地或ISP提供的SMTP服务器进行通信来发送邮件。SMTP服务器负责将邮件转发给最终的目标服务器。 - **特性**: 支持身份验证,可以配置为开放式转发器或限制性转发器。 -...
- 邮件接收模块:定期检查邮件服务器,获取新邮件,并存储在本地数据库或文件系统中。 - 邮件管理界面:用户可以通过Web界面查看、回复、转发和删除邮件。 - 系统配置模块:设置邮件服务器参数,如SMTP服务器、端口...
MUA是直接与用户交互的邮件客户端程序,而不同于邮件传输代理(MTA),后者负责消息的传输、发送和转发等任务。JavaMail API的设计目标是提供与特定邮件协议无关的邮件操作,它通过两个主要部分实现这一目标:与协议...
使用这些jar文件,开发者可以构建复杂的邮件系统,包括发送带附件的邮件、接收邮件、处理邮件队列、实现自动回复和转发等功能。JavaMail库的强大之处在于它的灵活性和广泛的支持,无论是简单的邮件发送还是复杂的...
通过JavaMail,我们可以创建、读取、回复、转发邮件,甚至处理附件和MIME类型的数据。 首先,邮件的接收是通过IMAP或POP3协议完成的。IMAP允许用户在线查看邮件,并保持邮件在服务器上,而POP3则通常将邮件下载到...
【邮件服务器(Java)】是基于Java编程语言构建的一个应用程序,它主要负责处理电子邮件的接收与发送,同时具备群发和转发邮件的功能。在Java中实现邮件服务器涉及到多个核心技术点,下面将对这些关键技术进行详细阐述...
用户通过POP3协议连接到邮件服务器,下载新邮件并将其存储在本地设备上。通常,一旦邮件被下载,服务器上的副本会被删除,但有些设置允许保留副本。 3. IMAP(Internet Message Access Protocol):IMAP是另一种...
4. **转发邮件模块**:涵盖了邮件的转发操作,将原邮件内容传递给新的收件人。 5. **删除邮件模块**:讨论了如何在本地和远程邮箱中删除邮件的逻辑和实现方法。 6. **地址簿模块**:描述了如何管理联系人列表,...
POP3(邮局协议)允许用户下载邮件到本地客户端,而IMAP4则提供了更高级的功能,如在线查看邮件、多设备同步以及邮箱的远程管理。 ### 存储机制 James使用Mailet API来处理邮件的路由和过滤。Mailets类似于邮件...
当用户通过客户端发送邮件时,SMTP服务器接收请求,然后将邮件转发到目标邮件服务器。SMTP使用TCP端口25进行通信,是互联网上发送邮件的标准协议。 三、POP3协议 POP3(Post Office Protocol version 3)则用于从...
7. **转发邮件**:通过`Message`对象的`forward()`方法可以转发邮件。这将创建一个新的邮件,包含原始邮件的所有信息,并将其发送给指定的收件人。 8. **认证机制**:JavaMail支持多种认证方式,包括简单的用户名和...
JavaMail 是一个开源库,它为Java开发者提供了一组API,用于处理电子邮件的发送和接收。...同时,理解这个过程也有助于掌握更复杂的邮件处理,比如添加多个附件、使用SSL/TLS加密连接、处理邮件回复和转发等高级功能。
- 转发邮件到目标邮件服务器。 - 存储收到的邮件。 - 为用户提供读取邮件的服务。 - **分类**: - **SMTP服务器**:负责邮件的发送操作。 - **POP3/IMAP服务器**:负责邮件的接收操作。 #### 三、电子邮箱与...
POP3通常用于下载邮件到本地设备,而IMAP4则提供在线查看和管理邮件的能力,保持邮件在服务器上的同步。 3. **MIME(Multipurpose Internet Mail Extensions)**:JavaMail支持MIME标准,可以发送包含文本、图片、...