JavaMail基本使用

 2023-09-07 阅读 20 评论 0

摘要:JavaMail基本使用 基本概述 JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口。它是Sun发布的用来处理email的API。它可以方便地执行一些常用的邮件传输。我们可以基于JavaMail开发出类似于Microsoft Outlook的应用程序。 虽然JavaMail是Sun的API之一

JavaMail基本使用

基本概述

JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口。它是Sun发布的用来处理email的API。它可以方便地执行一些常用的邮件传输。我们可以基于JavaMail开发出类似于Microsoft Outlook的应用程序。

虽然JavaMail是Sun的API之一,但它目前还没有被加在标准的java开发工具包中(Java Development Kit),这就意味着你在使用前必须另外下载JavaMail文件。除此以外,你还需要有Sun的JavaBeans Activation Framework (JAF)。JavaBeans Activation Framework的运行很复杂,在这里简单的说就是JavaMail的运行必须得依赖于它的支持。在Windows 2000下使用需要指定这些文件的路径,在其它的操作系统上也类似。

JavaMail是可选包,因此如果需要使用的话你需要首先从java官网上下载。使用JavaMail的时候需要Javabean Activation Framework的支持,因此你也需要下载JAF。安装JavaMail只是需要把他们加入到CLASSPATH中去,如果你不想修改CLASSPATH的话,可以直接把他们的jar包直接copy到JAVA_HOME/lib/ext下。这样JavaMail就安装好了。

JavaMail包中用于处理电子邮件的核心类是:Session,Message,Address,Authenticator,Transport,Store,Folder等。Session定义了一个基本的邮件会话,它需要从Properties中读取类似于邮件服务器,用户名和密码等信息。
另外很好的实现了JavaMail API的框架有James、Spring Mail。

——《百度百科》

JAVA使用?

电子邮件

概述

  • 电子邮箱:向服务器申请了一块空间(硬盘的地址),存储着你申请的这个邮箱存放的数据。

    • 电子邮箱(E-mail地址)的获得需要在邮件服务器上进行申请 ,确切地说,电子邮箱其实就是用户在邮件服务器上申请的一个帐户。用户在邮件服务器上申请了一个帐号后,邮件服务器就会为这个帐号分配一定的空间,用户从而可以使用这个帐号以及空间,发送电子邮件和保存别人发送过来的电子邮件。
  • 邮件服务器:

    • 要在Internet上提供电子邮件功能,必须有专门的电子邮件服务器。例如现在Internet很多提供邮件服务的厂商:sina、sohu、163等等他们都有自己的邮件服务器。
    • 这些服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中
    • 邮件服务器,按照提供的服务类型,可以分为发送邮件的服务器接收邮件的服务器

邮件协议

  • SMTP协议-发邮件协议

    • 全称为Simple Mail Transfer Protocol(简单邮件传输协议),它定义了邮件客户端软件与SMTP服务器之间、以及两台SMTP服务器之间的通讯规则。
    • 端口号:25.
  • POP/POP3协议-收邮件协议

    • 全称为Post Office Protocol(邮局协议),它定义了邮件客户端软件与POP3服务器的通讯规则。服务器到客户的通讯规则。
    • 端口号:110.

JavaMail使用

package com.pc.user.utils;import java.util.Properties;import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;import com.pc.user.domain.User;/*** 邮件工具类* * @author Switch* @data 2016年10月23日* @version V1.0*/
public class MailUtils {/*** 发送邮件* * @param user*            用户Bean*/public static void sendMail(User user) {// Session对象(会话)Properties props = new Properties();// 邮件服务器在本机props.setProperty("mail.host", "localhost");// 邮件服务器在外网需要用下面两个配置替代// props.setProperty("mail.host", "smtp-mail.outlook.com");// 外网会强制验证props.setProperty("mail.smtp.auth", "true");Session session = Session.getInstance(props, new Authenticator() {@Overridepublic PasswordAuthentication getPasswordAuthentication() {// 邮件服务器在本机return new PasswordAuthentication("Admin@store.com", "123456");// 邮件服务器在外网// return new PasswordAuthentication("*****@163.com","123456");}});// Message对象Message message = new MimeMessage(session);try {// 设置发件人:(最好是与登录名相同)message.setFrom(new InternetAddress("Admin@store.com"));// 设置收件人:message.addRecipient(RecipientType.TO, new InternetAddress(user.getEmail()));// 设置主题:message.setSubject("生日快乐");// 设置内容:message.setContent("尊敬的用户,祝您生日快乐!", "text/html;charset=UTF-8");// 3.Transport对象:Transport.send(message);} catch (Exception e) {e.printStackTrace();}}
}

Java怎么打开?PS:JavaMail发送邮件案例:GitHub

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/14875.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息