使用spring的JavaMailSender發送郵件
說明
底層依賴 javamail 實現
pom.xml 依賴項
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
spring.xml Spring配置文件
<bean class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.126.com" />
<property name="username" value="from-username" />
<property name="password" value="mima" />
</bean>
示例代碼(可以添加附件)
package com.qfedu.mooc1706.service.impl;
import com.lyx.mooc.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;
import javax.mail.internet.MimeMessage;
import java.io.File;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private JavaMailSender mailSender;
// 企業郵件通常有固定的header或footer如果要生成這些內容那麼有兩種推薦的方式
// 方式一:用Freemarker或Velocity模板引擎來生成郵件的正文內容
// 方式二:用建造模式來建造郵件的header、body和footer
@Override
public boolean register() {
MimeMessage mimeMessage = mailSender.createMimeMessage();
try {
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "utf-8");
helper.setFrom("[email protected]");
helper.setTo("[email protected]");
helper.setSubject("註冊激活碼");
helper.setText("hello,world");
// helper.addAttachment("gay.jpg", new File("gay.jpg"));
mailSender.send(mimeMessage);
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
}