在本地idea上运行的很正常,但是打成jar包发送到云服务器上运行就报错,运行不起来
2条回答 默认 最新
- 让往事非 2021-10-20 09:17关注
1.springboot集成email
pom依赖
<!--邮箱--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
设置邮箱
yml配置
spring: mail: host: smtp.163.com #服务主机地址 port: 465 #服务端口 username: xxx@163.com #邮箱 password: xxxxxxxxxxxxxx #授权码 default-encoding: UTF-8 properties: mail: smtp: socketFactory: class: javax.net.ssl.SSLSocketFactory debug: true
选用qq邮箱或者网易163开启服务STMP
2.service实现类
import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.stereotype.Service; import javax.annotation.Resource; import javax.mail.internet.MimeMessage; import java.io.File; @Service public class MailService { @Resource JavaMailSender javaMailSender; /** * 最简单的邮件发送 * @param from 发送方 * @param to 接收方 // * @param cc 第三方(非必填) * @param subject 标题 * @param content 内容 */ public void sendSimpleMail(String from,String to,String subject,String content){ SimpleMailMessage simpleMailMessage = new SimpleMailMessage(); simpleMailMessage.setFrom(from); simpleMailMessage.setTo(to); // simpleMailMessage.setCc(cc); simpleMailMessage.setSubject(subject); simpleMailMessage.setText(content); javaMailSender.send(simpleMailMessage); } /** * 代附件的邮件 * @param from * @param to * @param subject * @param content * @param file */ public void sendAttachFileMail(String from, String to, String subject, String content, File file) { try{ MimeMessage mimeMessage = javaMailSender.createMimeMessage(); MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage,true); mimeMessageHelper.setFrom(from); mimeMessageHelper.setTo(to); mimeMessageHelper.setSubject(subject); mimeMessageHelper.setText(content); mimeMessageHelper.addAttachment(file.getName(),file); javaMailSender.send(mimeMessage); }catch (Exception e){ e.printStackTrace(); } } }
3.调用实现
@Autowired MailService mailService; @Test public void sendAttachFileMail(){ try { mailService.sendSimpleMail("发送方邮箱","接收方邮箱","标题","hello world!"); } catch (Exception e) { e.printStackTrace(); } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报