当前位置:首页 > CN2资讯 > 正文内容

java 读邮件服务器 java 邮箱服务器

2天前CN2资讯


推荐使用标题5

1.安装使用易游服务器以及Foxmail

易游服务器傻瓜式安装
Foxmail 向导部分请断网

2.简单的入门案例

  • 1.创建mevan项目
  • 2.引入坐标
<!-- Javamail --> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.4</version> </dependency>
  • 3 入门邮箱代码
/* java 邮箱的入门案例 */ public class MailDemo1 { public static void main(String[] args) throws Exception{ //1.配置发送邮箱的属性信息 Properties properties = new Properties(); properties.setProperty("mail.smtp.host","localhost");// 设置stmp协议主机(案例:使用我们本机/实际:取邮箱POP3/SMTP服务查找) properties.setProperty("mail.smtp.auth","true");//设置stmp是否需要认证 //2.使用属性打开一个mail的会话 -->这里的session使用的是javax.mail.Session; Session session = Session.getInstance(properties); //3.设置会话为debug模式 ---> 可以不设置 设置后操作打印会更精细 session.setDebug(true); //4.创建邮件的主体信息对象 MimeMessage mimeMessage = new MimeMessage(session); //5.写入邮件内容 mimeMessage.setFrom(new InternetAddress("sass_ee88_01@"));//设置发件人 mimeMessage.setSubject("测试邮件");//设置邮件主题 mimeMessage.setText("第一封java发送的邮件");//设置邮件的返送文本内容 /** TO : 发送 正常 一对一 发送 能看到收件人 * CC : 抄送 一对多 很多人都能收到 能看到收件人 * BCC : 密送 看不到收件人 * --> .BCC ---> .CC */ mimeMessage.setRecipient(,new InternetAddress("sass_ee88_02@")); //设置收件人 //6.获取发送器对象 Transport transport = session.getTransport("smtp");//提供使用协议 //7.设置发送人信息(补充发件人信息) transport.connect("localhost","sass_ee88_01","1234"); //8.发送邮箱 填入发送的内容 收件人对象(此参数为所有的收件人) transport.sendMessage(mimeMessage,mimeMessage.getAllRecipients()); //9.释放资源 transport.close(); } }

3.简单邮件代码提取成为工具类

package com.itheima.util; import javax.mail.Message; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import java.util.Map; import java.util.Properties; /** * 抽取工具类 * @author 黑马程序员 * @Company http://www.itheima.com */ public class MailUtil { /** * * @param map 收件人地址 key是邮件地址 value是邮件的类型 * @param subject 邮件主题 * @param content 邮件内容 * @throws Exception */ public static void sendMail(Map<String,String> map , String subject, String content)throws Exception{ //1.配置发送邮件的属性信息 Properties properties = new Properties(); properties.setProperty("mail.smtp.host","localhost");//设置stmp协议的主机 properties.setProperty("mail.smtp.auth","true");//设置smtp是否需要认证 //2.使用属性打开一个mail的会话 Session session = Session.getInstance(properties); //3.设置会话是debug模式 session.setDebug(true); //4.创建邮件的主体信息对象 MimeMessage mimeMessage = new MimeMessage(session); //5.设置发件人 mimeMessage.setFrom(new InternetAddress("saas_server@")); //6.设置邮件主题 mimeMessage.setSubject(subject); //7.设置邮件正文 mimeMessage.setText(content); //8.设置收件人 for(Map.Entry<String,String> me : map.entrySet()){ String email = me.getKey();//邮件地址 String type = me.getValue();//邮件类型 if("to".equalsIgnoreCase(type)){ //发送 mimeMessage.setRecipient(,new InternetAddress(email));//TO:发送 CC:抄送 BCC:密送 }else if("cc".equalsIgnoreCase(type)){ //CC:抄送 mimeMessage.setRecipient(,new InternetAddress(email)); }else if("bcc".equalsIgnoreCase(type)){ //BCC:密送 mimeMessage.setRecipient(Message.RecipientType.BCC,new InternetAddress(email)); } } //9.获取发送器对象 Transport transport = session.getTransport("smtp");//提供使用的协议 //10.设置发件人的信息 transport.connect("localhost","saas_server","1234"); //11.发送邮件 transport.sendMessage(mimeMessage,mimeMessage.getAllRecipients()); //12.释放资源 transport.close(); } }

利用工具类 发送邮件

public static void main(String[] args) throws Exception{ Map<String,String> map = new HashMap<>(); map.put("saas_ee88@","to"); map.put("saas_ee88_01@","cc"); map.put("saas_ee88_02@","bcc"); MailUtil.sendMail(map,"测试第二封邮件","使用工具类发送邮件...."); }

4 javax.mail与spring整合

导入俩者坐标

<!-- Javamail --> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.4</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>5.0.4.RELEASE</version> </dependency>

mail.properties配置文件

#发件箱名称 mail.from=sass_ee88_01@ #指定smtp服务器地址 mail.host=localhost #指定发件箱的登陆用户名 mail.username=sass_ee88_01 #指定发件箱的登陆密码 mail.password=1234 #指定发送邮箱所用的编码 mail.encoding=UTF-8 #指定发送邮件的所用的协议 不写默认也是smtp mail.protocol=smtp

applicationContext-mail.xml配置文件

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- 指定引入其他资源文件.properties文件 --> <context:property-placeholder location="classpath:mail.properties"/> <!-- 配置简单邮件消息对象 --> <bean id="mailMessage" > <!-- 此时我们只需要注入发件箱名称即可。不要注入主题,正文,收件箱等等信息,因为那些信息是不固定的 --> <property name="from" value="${mail.from}"></property> </bean> <!-- 配置邮件发送器 --> <bean id="mailSender" > <property name="host" value="${mail.host}"></property> <property name="username" value="${mail.username}"></property> <property name="password" value="${mail.password}"></property> <property name="defaultEncoding" value="${mail.encoding}"></property> <property name="protocol" value="${mail.protocol}"></property> <property name="javaMailProperties"> <props> <prop key="mail.smtp.auth">true</prop><!-- 是否需要验证 --> <prop key="mail.debug">true</prop><!-- 是否需要debug的信息 --> <prop key="mail.smtp.timeout">0</prop><!-- 设置发送超时时间,以秒为单位。0为永不超时 --> </props> </property> </bean> </beans>

java运行测试代码

import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSenderImpl; /** * javaMail 和 spring整合的邮件发送 */ public class MailDemo03 { public static void main(String[] args) { //获取spring容器对象 ApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext-mail.xml"); // 获取消息对象 通过spring提供的 SimpleMailMessage mailMessage = (SimpleMailMessage)context.getBean("mailMessage"); // 准备邮件内容 mailMessage.setSubject("spring和JavaMail整合的邮件发送第一次测试");//设置邮件主题 mailMessage.setText("这是一封spring和JavaMail整合的邮件发送第一次测试"); //设置邮件文本内容 mailMessage.setTo("sass_ee88_02@");//设置收件人信息 ,此处可以多写 , 隔开 // mailMessage.setCc("sass_ee88_02@"); // mailMessage.setBcc("sass_ee88_02@"); // 获取发送器对象 通过spring提供的 JavaMailSenderImpl sender = (JavaMailSenderImpl) context.getBean("mailSender"); //last end 发送邮箱 sender.send(mailMessage); } }

5 上面的只是简单的邮件发送 (正常使用还有图片以及附件的发送)

**这里我们就可以使用spring提供的复杂邮件帮助对象了**/** * 带附件以及图片的邮件发送 */ public class MailDeo04 { public static void main(String[] args)throws Exception { //1.获取spring容器 ApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext-mail.xml"); //2.获取发送器对象 JavaMailSenderImpl sender = (JavaMailSenderImpl) context.getBean("mailSender"); //3.使用获取MimeMessage(多用途物联网邮件数据类型) MimeMessage mimeMessage = sender.createMimeMessage(); //4.创建spring提供的复杂邮件的帮助对象 MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);//是否为多部分数据 //5.写入邮件信息 helper.setFrom("sass_ee88_01@");//设置发件人邮箱 helper.setTo("sass_ee88_02@");//设置收件人邮箱 helper.setSubject("我是一封多数据格式的邮件");//设置邮件的主题 String data = "<html><head></head><body><h1>你好</h1> <img src=cid:image ></body></html>" ; helper.setText(data,true);//设置邮件的正文 是否为html文本内容 //填充 设置 image 图片路径 FileSystemResource resource = new FileSystemResource(new File("E:\\img\\13.jpg")); //使用流 图片替换 cid 中image图片 helper.addInline("image",resource); //添加附件 附件名称 附件来源流 helper.addAttachment("1.jpg",resource); // last end 发送邮件 sender.send(mimeMessage); }


    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/23485.html

    分享给朋友:

    “java 读邮件服务器 java 邮箱服务器” 的相关文章

    搬瓦工补货通知及高性价比套餐推荐

    搬瓦工的补货通知对许多用户来说非常重要,尤其是在需求不断增加的背景下。补货通知不仅帮助用户了解最新的套餐信息,还能在价格优惠时把握购买机会。对于我而言,时常关注这些通知意味着能以最低的价格获得高配置的套餐,这无疑是提升我网络体验的重要一步。 为了随时获取补货信息,搬瓦工提供了多种渠道供用户选择。大家...

    华纳云:全球领先的云计算与数据中心服务提供商

    华纳云概述 在当今数字化高速发展的时代,云计算和数据中心服务显得尤为重要。华纳云,作为一家专业的全球数据中心基础服务提供商,总部位于香港,依托于香港联合通讯国际有限公司的实力,稳步发展。华纳云不仅是APNIC和ARIN的会员单位,更拥有自有的ASN号,这为其全球运营提供了强有力的支持。通过这些背景,...

    选择台湾VPS的优势与实用技巧分析

    在当今互联网迅速发展的时代,虚拟专用服务器(VPS)成为了众多企业和个人不二的选择。台湾VPS作为一个相对新兴的产品,凭借自己独特的地理位置和优异的技术性能,逐渐在市场上占据了一席之地。身为个人或企业,在选择服务器时,了解台湾VPS的基本概念及其优势无疑是一个明智的开始。 什么是VPS? VPS,即...

    阿里云优惠券使用指南 - 如何获取和利用阿里云优惠券

    在当今数字化快速发展的情况下,越来越多的企业和个人选择迁移到云端,以提高业务效率和降低运营成本。而在众多云服务提供商中,阿里云以其领先的技术和丰富的服务,赢得了广泛的用户基础。在这个过程中,阿里云优惠券成为了降低上云成本的重要工具。 阿里云的优惠券种类繁多,针对不同用户群体提供了各种适合的优惠方案。...

    AT&T VPS详解:稳定性与灵活性的完美选择

    在这篇文章中,我想和大家聊聊AT&T VPS,尤其是在更广泛的虚拟私有服务器市场中,AT&T VPS代表了什么。AT&T是一家美国知名的电信运营商,其提供的VPS服务在一定程度上依赖于它的网络基础设施。这种结合了高质量网络与虚拟服务器技术的服务,吸引了大量需要高稳定性和可扩展...

    BGPTO独立服务器:高性能云主机解决方案

    BGPTO是一家由国人创办的云服务器主机商,致力于为用户提供高性能的独立服务器。随着全球互联网的发展,对云计算和服务器主机的需求不断增加,BGPTO顺应这一趋势,选择在日本、新加坡、香港和美国等地设立机房。公司希望通过独立服务器的销售,满足用户在不同地区的需求,尤其是针对国内用户和企业的海外业务拓展...