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

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="[email protected]"/>
<!--发送邮件端口-->
<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);

相关推荐