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); |