知识大全 利用javamail和POP3、SMPT协议实现邮件的收发

Posted

篇首语:寸阳分阴须爱惜,休负春色与时光。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 利用javamail和POP3、SMPT协议实现邮件的收发相关的知识,希望对你有一定的参考价值。

利用javamail和POP3、SMPT协议实现邮件的收发  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  一 简介  SMTP 的全称是 Simple Mail Transfer Protocol 即简单邮件传输协议 用于邮件发送 SMTP 认证 简单地说就是要求必须在提供了账户名和密码之后才可以登录 SMTP 服务器   POP (Post Office Protocol )协议允许电子邮件客户端下载服务器上的邮件 但是在客户端的操作(如移动邮件 标记已读等) 不会反馈到服务器上 比如通过客户端收取了邮箱中的 封邮件并移动到其他文件夹 邮箱服务器上的这些邮件是没有同时被移动的   而IMAP(Internet Mail Access Protocol)提供webmail 与电子邮件客户端之间的双向通信 客户端的操作都会反馈到服务器上 对邮件进行的操作 服务器上的邮件也会做相应的动作   同时 IMAP像POP 那样提供了方便的邮件下载服务 让用户能进行离线阅读 IMAP提供的摘要浏览功能可以让你在阅读完所有的邮件到达时间 主题 发件人 大小等信息后才作出是否下载的决定 此外 IMAP 更好地支持了从多个不同设备中随时访问新邮件   总之 IMAP 整体上为用户带来更为便捷和可靠的体验 POP 更易丢失邮件或多次下载相同的邮件 但 IMAP 通过邮件客户端与webmail 之间的双向同步功能很好地避免了这些问题   注 若在web邮箱中设置了 保存到已发送 使用客户端POP服务发信时 已发邮件也会自动同步到网页端 已发送 文件夹内  二 利用SMTP协议发送邮件  package like email;  import java io File;  import java io UnsupportedEncodingException;  import java util ArrayList;  import java util Properties;  import javax activation DataHandler;  import javax activation DataSource;  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 Session;  import javax mail Transport;  import javax mail internet AddressException;  import javax mail internet InternetAddress;  import javax mail internet MimeBodyPart;  import javax mail internet MimeMessage;  import javax mail internet MimeMultipart;  /**  * @author like  * @E mail k  * @CreateTime 下午 : :   */  public class SMTPSendTest   private static final int RECEIPT = ;  private static final String attachmentDir = ;  public static void sendEmail(Email emailInfo) throws UnsupportedEncodingException MessagingException   Properties props = new Properties()   props put( mail smtp host emailInfo getSmtpServer())   props put( mail smtp port emailInfo getSmtpPort())   props put( mail smtp auth true )   Authenticator auth = new SMTPAuthenticator(emailInfo getUsername() emailInfo getPassword())   Session session = Session getInstance(props auth)   session setDebug(false)   Message msg = new MimeMessage(session)   msg setFrom(new InternetAddress(emailInfo getFrom() emailInfo getFromName()))   msg setRecipients(Message RecipientType TO getEmailRecipient(emailInfo getTO()))   msg setRecipients(Message RecipientType CC getEmailRecipient(emailInfo getCC()))   msg setRecipients(Message RecipientType BCC getEmailRecipient(emailInfo getBCC()))   if (emailInfo getReceipt() == RECEIPT)   msg setHeader( Disposition Notification To emailInfo getFrom())     msg setSubject(emailInfo getSubject())   // 设置邮件内容(包括附件的HTML格式内容)  msg setContent(getMultipart(emailInfo getContent() attachmentDir emailInfo getAttachment()))   msg saveChanges()   Transport send(msg)     /**  * 封装邮件地址  *  * @param address  * @return  * @throws AddressException  */  private static InternetAddress[] getEmailRecipient(ArrayList<String> address) throws AddressException   int toLen = ;  if (address != null)   toLen = address size()     InternetAddress[] addressTo = new InternetAddress[toLen];  if (toLen != )   String m_st_email = ;  for (int i = ; i < toLen; i++)   m_st_email = (String) address get(i)   if (m_st_email != null)  addressTo[i] = new InternetAddress(m_st_email trim())       return addressTo;    private static Multipart getMultipart(String text String attachParentDir ArrayList<String> attachment) throws MessagingException

cha138/Article/program/Java/hx/201311/26993

相关参考

知识大全 JavaMail常见问题之POP3问题

JavaMail常见问题之POP3问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  问我可以从

知识大全 使用JavaMail 实现邮件发送

使用JavaMail实现邮件发送  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   im

知识大全 JAVAMAIL邮件服务器

JAVAMAIL邮件服务器  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  如果你认为没有必要设置

知识大全 JavaMail常见问题之发送邮件问题

JavaMail常见问题之发送邮件问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  问我如何回

知识大全 用JavaMail写简易电子邮件发送系统

用JavaMail写简易电子邮件发送系统  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  引言  

知识大全 用javamail显示复合邮件的内容的亲身体会

  复合邮件既含图片又含正文一般是格式显示简单理解的话就是非常漂亮的那种邮件    (个人注解不很全面)        当我们需要做一个收取邮件的程序时我们该如何去显示复合邮件的内容呢?(原问题见专家

知识大全 使用javamail自动获取gmail邮件

cha138/Article/program/Java/hx/201311/27160

知识大全 JavaMail发送中文邮件中主题乱码的解决方法

JavaMail发送中文邮件中主题乱码的解决方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&n

在Internet上用于收发电子邮件的协议是

在Internet上用于收发电子邮件的协议是_____。A、TCP/IPB、NETBEUIC、IPX/SPXD、P0P3/SMTP答案:D解析:OP(PostOfficeProtocol)邮局通讯协定

知识大全 Java发送邮件

Java发送邮件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  记得曾经学习用javamail发