欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【码】javaMail+spring+qq邮箱发送邮件

程序员文章站 2022-03-30 12:53:31
1.依赖:spring版本根据具体环境修改 javax.mail mail 1.4 org.springframework spring-con... ......

1.依赖:spring版本根据具体环境修改

<dependency>

            <groupId>javax.mail</groupId>

            <artifactId>mail</artifactId>

            <version>1.4</version>

        </dependency>

<dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-context-support</artifactId>

            <version>${spring.version}</version>

        </dependency>

2.配置spring

使用spring管理注入邮件对象

    注邮件端口使用587,并不是使用传说中的465,使用465发送邮件时,程序长时间运行,无法发出邮件

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<!--注入所需的元素-->
<!--邮件服务器 使用qq邮箱-->
<property name="host" value="smtp.qq.com"/>
<!--发件人邮件地址-->
<property name="username" value="XXXXXX@qq.com"/>
<!--发送邮件端口-->
<property name="port" value="587"/>
<!--password使用授权码-->
<property name="password" value="XXXXXXXX"/>

<!---->
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.host">smtp.qq.com</prop>
<prop key="mail.transport.protocol">smtp</prop>
<prop key="mail.smtp.auth">true</prop>
</props>
</property>
</bean>

 

3.编写发送邮件代码

//发送邮件前先注入javaMailSender对象

@Autowired
private JavaMailSenderImpl mailSender;

 

// 构建简单邮件对象

SimpleMailMessage smm = new SimpleMailMessage();
// 设定邮件参数
smm.setFrom(mailSender.getUsername());
//设置收件人
smm.setTo("收件邮箱@qq.com");
//邮件主题
smm.setSubject("这是一封简单邮件");
//邮件内容
smm.setText("Hello world via spring mail sender");
// 发送邮件
mailSender.send(smm);