在本地idea上运行的很正常,但是打成jar包发送到云服务器上运行就报错,运行不起来
pom依赖
<!--邮箱-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
设置邮箱
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
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();
}
}
}
@Autowired
MailService mailService;
@Test
public void sendAttachFileMail(){
try {
mailService.sendSimpleMail("发送方邮箱","接收方邮箱","标题","hello world!");
} catch (Exception e) {
e.printStackTrace();
}
}
你打包之后在本地先运行一下试试