qq邮箱电脑版在哪里(电脑qq邮箱默认下载路径)

业务场景

  • 是不是服务器 down 了?
  • 爬虫的 Dom 解析没有解析到内容?
  • 用户注册
  • 消息通知(代码异常通知等)

邮件服务器与传输协议

  • 要在网络上实现邮件功能,必须要有专门的邮件服务器。这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中。
  • SMTP服务器地址:一般是 smtp.xxx.com,比如163邮箱是smtp.163.com,qq邮箱是smtp.qq.com。
  • SMTP协议
  • 通常把处理用户smtp请求(邮件发送请求)的服务器称之为SMTP服务器(邮件发送服务器)。
  • POP3协议
  • 通常把处理用户pop3请求(邮件接收请求)的服务器称之为POP3服务器(邮件接收服务器)。

Java发送邮件

Java基于JavaMail实现向QQ邮箱发送邮件Java基于JavaMail实现向QQ邮箱发送邮件

好了,基本原理和业务场景搞清楚了,下来以QQ邮箱作为案例(163等其他邮箱也是类似的),基于SSM框架的,SpringBoot同理,当然SSM框架都会配置了SpringBoot还不是手到擒来

开启SMTP服务

Java基于JavaMail实现向QQ邮箱发送邮件Java基于JavaMail实现向QQ邮箱发送邮件

点击设置—— 账户

Java基于JavaMail实现向QQ邮箱发送邮件Java基于JavaMail实现向QQ邮箱发送邮件

请记住这串编号,后面的配置会用到

Java基于JavaMail实现向QQ邮箱发送邮件Java基于JavaMail实现向QQ邮箱发送邮件

导入依赖 关于spring的依赖自行删减

<!--邮件发送-->
    <dependency>
      <groupId>com.sun.mail</groupId>
      <artifactId>javax.mail</artifactId>
      <version>1.6.1</version>
    </dependency>

    <!--引入spring的上下文jar-->
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>4.3.22.RELEASE</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-context-support -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>4.3.4.RELEASE</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>4.3.4.RELEASE</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-tx -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>4.3.13.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
    </dependency>

工程目录结构

Java基于JavaMail实现向QQ邮箱发送邮件Java基于JavaMail实现向QQ邮箱发送邮件

设置配置文件 mail.properties

在163邮箱中同上的申请配置,可能和QQ页面所在位置不一样,请自行查找(基本都是一样的)

#服务器主机名QQ邮箱 smtp.xx.com   根据自己邮箱的使用自行设置  163邮箱:  smtp.163.com
mail.smtp.host=smtp.qq.com
#自己的邮箱
mail.smtp.username=********@qq.com
#密码/客户端授权码   这里的授权码就是刚才在邮箱中生成的
mail.smtp.password=********        
#编码字符
mail.smtp.defaultEncoding=utf-8
#是否进行用户名密码校验
mail.smtp.auth=true
#设置超时时间
mail.smtp.timeout=20000

spring-.xml 有些内容自行删减 这是我copy过来的

spring-core.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"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       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 http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">


    <!--读取属性文件-->
    <context:property-placeholder location="classpath:mail.properties"/>


    <!--配置邮件接口-->
    <bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="host" value="${mail.smtp.host}"/>
        <property name="username" value="${mail.smtp.username}"/>
        <property name="password" value="${mail.smtp.password}"/>
        <property name="defaultEncoding" value="${mail.smtp.defaultEncoding}"/>
        <property name="javaMailProperties">
            <props>
                <prop key="mail.smtp.auth">${mail.smtp.auth}</prop>
                <prop key="mail.smtp.timeout">${mail.smtp.timeout}</prop>
            </props>
        </property>
    </bean>

    <context:component-scan base-package="com.*">
        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>

</beans>

SendEmailController

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import javax.mail.MessagingException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.io.File;
import java.io.IOException;
import java.util.Properties;

/**
 * @Description: 发送邮件
 * @Author: 张楚涵
 * @Date: 2019/8/14 0014 15:58
 * @version:1.0.0
 */

@RestController
public class SenEmailController {

    @Autowired
    private JavaMailSender javaMailSender;//在spring中配置的邮件发送的bean



    @RequestMapping(value = "/send",method = RequestMethod.GET,produces = "text/html; charset=utf-8")
    public Object sendMail03(){
        MimeMessage mMessage=javaMailSender.createMimeMessage();//创建邮件对象
        MimeMessageHelper mMessageHelper;
        Properties prop = new Properties();
        String from;
        try {
            //从配置文件中拿到发件人邮箱地址
          //根据自己的目录设置
            prop.load(this.getClass().getClassLoader().getResourceAsStream("mail.properties"));   
            from = prop.get("mail.smtp.username")+"";
            mMessageHelper=new MimeMessageHelper(mMessage,true);
          //  mMessageHelper.setFrom(from);//发件人邮箱
          // 第二个参数是你想发送邮件时想用的名字
            mMessageHelper.setFrom(new InternetAddress(from, "###", "UTF-8"));    
            mMessageHelper.setTo("*******@qq.com");//收件人邮箱
            mMessageHelper.setSubject("******");//邮件的主题
         
            mMessageHelper.setSubject("Spring的邮件发送");//邮件的主题
          //邮件的文本内容,true表示文本以html格式打开
            mMessageHelper.setText("<p>这是使用spring的邮件功能发送的一封邮件</p><br/>" +
                    "<a href='https://blog.csdn.net/qq_41840847'>打开我的博客主页</a><br/>" +
                    "<img src='cid:fengye'>",true);

         /*  
         File file=new File("F:/img/mr.png");//在邮件中添加一张图片
            FileSystemResource resource=new FileSystemResource(file);
            mMessageHelper.addInline("fengye", resource);//这里指定一个id,在上面引用
            mMessageHelper.addAttachment("mr.png", resource);//在邮件中添加一个附件
            */
            javaMailSender.send(mMessage);//发送邮件
        } catch (MessagingException e) {
            e.printStackTrace();
            return "发送失败";
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "发送成功";
    }

}

测试

Java基于JavaMail实现向QQ邮箱发送邮件Java基于JavaMail实现向QQ邮箱发送邮件
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至624739273@qq.com举报,一经查实,本站将立刻删除。
Like (0)
柳的头像

相关推荐

  • 开汽车摆地摊图片,摆地摊究竟有多挣钱呢

    最近有一个词非常火,那就是地摊经济。由于成本低效益高,很多人也都置办起了一些摆摊工具,想要加入摆摊大军当中。有一些人在摆摊的第1天就赚到了不少钱,更坚定了自己做下去的决心。但是摆摊…

    2024年8月26日 投稿
  • android刷机方式(安卓手机刷机教程)

    最近两年关于安卓刷机的信息越来越少了,刷机在现在更多的是极客们的技术实力展现,与普通消费者已经没有任何联系,但在2009-2015年这段时间,刷机一度是一个智能手机用户的必备技能。…

    2024年9月1日 投稿
  • 微信小程序商城怎么推广获客?这几种方案引流方案,简单又实用!

    微信小程序基于强社交属性,天然自带引流特性,但毕竟小程序也只是一个工具,想要快速获客,还是需要商家主动采取一些措施的。 那么,搭建了小程序商城之后,怎么引流获客呢?在这里,得有店分…

    2024年8月28日 投稿
  • 回港镀金,携程携重前行

    配图来自Canva可画 说到受疫情影响最为严重的行业,旅游行业首当其冲。其中携程作为国内市占率最高​的OTA企业,稍有动静便会激起千层浪。比如最近携程回港二次上市的传闻不绝于耳,但…

    2024年9月3日
  • 2024年你不打造个人品牌,还准备做什么?

    相信,说到品牌两个字,大家一定不陌生,比如企业品牌,500强企业,产品品牌,明星品牌等等; 不过对于,个人品牌来说,知道的人还不多,但是不代表没有。 看数据,个人品牌从2011年就…

    2024年9月17日
  • 罗永浩2年还4亿,钱都从哪来?

    至少,罗永浩还可以在综艺节目里把欠债6个亿当成段子讲,“下周回国”的贾跃亭,却只能活成别人口中的笑话。 罗永浩再次向人们贡献了一个“传说”。 9月23日晚间播出的《脱口秀大会》第三…

    2024年10月6日 投稿

发表回复

Please Login to Comment
微信
微信
SHARE
TOP
要想花得少,就用购宝。话费电费9折起,官方公众号:购宝