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