首先需要進入你的qq郵箱中開啟POP3/SMTP服務。
1.點擊左上方設置--》賬戶

2.開啟POP3/STMP服務,開啟服務會有一個授權碼,需要保存下來,配置到代碼中。

3.引入pom依賴。
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
4.配置applicationContext.xml文件
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.qq.com"/>
<property name="port" value="465"/>
<property name="username" value="你的qq郵箱"/>
<property name="password" value="pop3授權碼"/>
<property name="defaultEncoding" value="UTF-8"/>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.ssl.enable">true</prop>
</props>
</property>
</bean>
5.編寫工具類
import org.springframework.transaction.annotation.Transactional;
import javax.mail.MessagingException;
public interface MailSenderSrvServices {
/*普通格式發送
* @recipient 收件人地址
* @subject 主題
* @content 正文
* */
@Transactional
void sendEmail(String recipient,String subject,String content);
/*帶抄送
* */
void sendHtmlEmail(String recipient,String subject,String content) throws MessagingException, Exception;
}
import com.xcq.service.MailSenderSrvServices;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
@Service("MailSenderSrvService")
public class MailSenderSrvServiceImpl implements MailSenderSrvServices {
@Autowired
private JavaMailSenderImpl mailSender;
/**
* JavaMailSenderImpl支持MimeMessages和SimpleMailMessages。
* MimeMessages為復雜郵件模板,支持文本、附件、html、圖片等。
* SimpleMailMessages實現了MimeMessageHelper,為普通郵件模板,支持文本
*/
/**
* 描述:Spring 依賴注入
* @author wanghaoyu
* @date
* @version 1.0
* @param mailSender
* @since 1.8
*
*/
public void setMailSender(JavaMailSenderImpl mailSender) {
this.mailSender = mailSender;
}
/**
* 單發
*
* @param recipient 收件人
* @param subject 主題
* @param content 內容
*/
@Override
public void sendEmail(String recipient,String subject,String content) {
MimeMessage mimeMessage = mailSender.createMimeMessage();
try {
MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage,true,"UTF-8");
messageHelper.setFrom("xx@qq.com");//發件人
messageHelper.setTo(recipient);
messageHelper.setSubject(subject);
messageHelper.setText(content,true);//true代表支持html格式
mailSender.send(mimeMessage);
} catch (MessagingException e) {
e.printStackTrace();
}
}
@Override
public void sendHtmlEmail(String recipient,String subject,String content) throws Exception {
MimeMessage mimeMessage = mailSender.createMimeMessage();
try {
MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage,true,"UTF-8");
messageHelper.setFrom("xx@qq.com");//發件人
messageHelper.setTo(recipient);
messageHelper.setSubject(subject);
messageHelper.setText(content,true);
mimeMessage.setRecipients(Message.RecipientType.CC,"xx@qq.com");//抄送人
mailSender.send(mimeMessage);
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
6.編寫測試類
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = "classpath:applicationContext.xml") public class Tset{ @Autowired private MailSenderSrvServices mailsend; public static void mail(String[] args){ String to = "xxx@qq.com"; //收件人地址 String subject = "這是一封新的郵件"; //郵件標題 String content = "今天天氣不錯"; //郵件內容 mailsend.sendEmail(to,subject,content); //發送郵件 } public MailSendSrvServices getMailsend(){ return mailsend; } public void setMailsend(MailSendSrvServices mailsend){ this.mailsend = mailsend; } }
測試結果

