Spring Boot Mail QQ 기업 메 일 에 솔 루 션 을 연결 할 수 없습니다.
Couldn't connect to host, port: smtp.qq.com, 25; timeout -1
기업 메 일 로 생 성 된 인증 암 호 를 사용 해 야 합 니 다.
QQ 메 일 기본 포트 가 465 이기 때문에 SSL 설정 으로 변경 해 야 합 니 다.
자바 코드
package com.chenpeng.cpeducloud.service.impl;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.messaging.MessagingException;
import org.springframework.stereotype.Service;
import com.chenpeng.cpeducloud.base.WebConstants;
import com.chenpeng.cpeducloud.service.MailService;
import com.chenpeng.cpeducloud.util.Constants;
import com.chenpeng.cpeducloud.util.DateUtils;
import com.chenpeng.cpeducloud.util.StringUtils;
import javax.mail.internet.MimeMessage;
import java.io.File;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
/**auth : szy
*time : 2019-05-16
**/
@Service
@Slf4j
public class MailServiceImpl implements MailService {
@Autowired
private JavaMailSender mailSender;
@Value("${mail.formSender}")
private String sender;//
@Value("${mail.formMobile}")
private String formMobile;//
/**
* ( , , )
*/
@Override
public void sendSimpleMail(String to, String subject, String content) {
SimpleMailMessage message = new SimpleMailMessage();
message.setFrom(sender);
message.setTo(to);
message.setSubject(subject);
message.setText(content);
try {
mailSender.send(message);
log.info(" !");
} catch (Exception e) {
log.info(" !"+e);
}
}
/**
* Html ( , , )
*/
@Override
public void sendHtmlMail(String to, String subject, String content) {
MimeMessage message = mailSender.createMimeMessage();
try {
MimeMessageHelper helper = null; //true multipart message
try {
helper = new MimeMessageHelper(message, true);
message.setFrom(sender);
helper.setTo(to);
helper.setSubject(subject);
helper.setText(content, true);
mailSender.send(message);
log.info("html ");
} catch (javax.mail.MessagingException e) {
e.printStackTrace();
}
} catch (MessagingException e) {
log.info(" html !"+e);
}
}
/**
*
* @param to
* @param subject
* @param content
* @param filePath
*/
@Override
public void sendAttachmentsMail(String to, String subject, String content, String filePath){
MimeMessage message = mailSender.createMimeMessage();
try {
MimeMessageHelper helper = null;
try {
helper = new MimeMessageHelper(message, true);
message.setFrom(sender);
helper.setTo(to);
helper.setSubject(subject);
helper.setText(content, true);
FileSystemResource file = new FileSystemResource(new File(filePath));
String fileName = filePath.substring(filePath.lastIndexOf(File.separator));
helper.addAttachment(fileName, file);
//helper.addAttachment("test"+fileName, file);
mailSender.send(message);
log.info(" 。");
} catch (javax.mail.MessagingException e) {
e.printStackTrace();
}
} catch (MessagingException e) {
log.info(" !"+e);
}
}
/**
* Html ( , , ),
*
*/
@Override
public void sendHtmlMailAndAttachments(String[] to,String[] cc, String subject, String content, List<String> files) {
MimeMessage message = mailSender.createMimeMessage();
try {
MimeMessageHelper helper = null; //true multipart message
try {
helper = new MimeMessageHelper(message, true);
message.setFrom(sender);
helper.setTo(to);
helper.setCc(cc);
helper.setSubject(subject);
helper.setText(content, true);
for (String filePath : files){
FileSystemResource file = new FileSystemResource(new File(filePath));
String fileName = filePath.substring(filePath.lastIndexOf(File.separator));
helper.addAttachment(fileName, file);
}
mailSender.send(message);
log.info("html ");
} catch (javax.mail.MessagingException e) {
e.printStackTrace();
}
} catch (MessagingException e) {
log.info(" html !"+e);
}
}
}
메 일 박스 설정
#
mail:
host: smtp.exmail.qq.com
username: [email protected]
password:
default-encoding: utf-8
port: 465
properties:
mail:
smtp:
auth: true
ssl:
enable: true
socketFactory:
class: com.sun.mail.util.MailSSLSocketFactory
fallback: false
starttls:
enable: true
required: true
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[MeU] Hashtag 기능 개발➡️ 기존 Tag 테이블에 존재하지 않는 해시태그라면 Tag , tagPostMapping 테이블에 모두 추가 ➡️ 기존에 존재하는 해시태그라면, tagPostMapping 테이블에만 추가 이후에 개발할 태그 기반 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.