spring发送Email
来源:互联网 发布:洗浴软件多少钱 编辑:程序博客网 时间:2024/04/28 04:11
使用spring发送email,支持文件、html、txt等格式。
MailBean.java 发送email的格式类
/** * 本类是主要进行发送E-mail信息。 * @author Jerry * 如果是HTML :<html><head></head><body><h1>hello!!spring html Mail</h1><a href=\"http://www.sina.com\">超级链接</a></body></html> * 请加上http:// 否则URL会失效 */public class MailBean { private String toEmail;//e-mail目的地 private String fromEmail;//e-mail来源地 private String emailTitle;//邮件标题 private String emailContent;//邮件正文 private File[] sendFiles;//添加附件 //相关配置在properties里 private PropertiesLoader propertiesLoder = new PropertiesLoader("ttcity.properties"); public MailBean(String toEmail, String emailTitle, String emailContent) { super(); this.toEmail = toEmail; this.fromEmail = propertiesLoder.getProperty("mail.username", "cuisongliu@163.com"); this.emailTitle = emailTitle; this.emailContent = emailContent; } public MailBean(String toEmail, String emailTitle, String emailContent, File[] sendFiles) { super(); this.toEmail = toEmail; this.fromEmail = propertiesLoder.getProperty("mail.username", "cuisongliu@163.com"); this.emailTitle = emailTitle; this.emailContent = emailContent; this.sendFiles = sendFiles; } public String getToEmail() { return toEmail; } public void setToEmail(String toEmail) { this.toEmail = toEmail; } public String getFromEmail() { return fromEmail; } @SuppressWarnings("unused") private void setFromEmail(String fromEmail) { this.fromEmail = fromEmail; } public String getEmailTitle() { return emailTitle; } public void setEmailTitle(String emailTitle) { this.emailTitle = emailTitle; } public String getEmailContent() { return emailContent; } public void setEmailContent(String emailContent) { this.emailContent = emailContent; } public File[] getSendFiles() { return sendFiles; } public void setSendFiles(File[] sendFiles) { this.sendFiles = sendFiles; }}
发送邮件接口
public interface SendMail { public JavaMailSender getJavaMailSender(); public MimeMessage getMimeMessage(); /** * 发送普通的email * @param mailBean Email的实体类 * @return true/false 发送成功/失败 * @throws BaseRuntimeException */ public boolean sendSingleMail(MailBean mailBean)throws IitdevRuntimeException; /** * 发送HTML格式的email * @param mailBean Email的实体类 * @return true/false 发送成功/失败 * @throws BaseRuntimeException */ public boolean sendHTMLMail(MailBean mailBean)throws IitdevRuntimeException; /** * 发送带附件的email * @param mailBean Email的实体类 * @return true/false 发送成功/失败 * @throws BaseRuntimeException */ public boolean sendAttachedFileMail (MailBean mailBean)throws IitdevRuntimeException;}
发送邮件的实现类
public class SendMailImpl implements SendMail { protected JavaMailSender javaMailSender; protected MimeMessage mimeMessage; private Logger log = Logger.getLogger(SendMailImpl.class); public JavaMailSender getJavaMailSender() { return javaMailSender; } public void setJavaMailSender(JavaMailSender javaMailSender) { this.javaMailSender = javaMailSender; } public MimeMessage getMimeMessage() { return mimeMessage; } public void setMimeMessage(MimeMessage mimeMessage) { this.mimeMessage = mimeMessage; } @Override public boolean sendSingleMail(MailBean mailBean) throws IitdevRuntimeException { SimpleMailMessage mailMessage = new SimpleMailMessage(); try { mailMessage.setTo(mailBean.getToEmail()); mailMessage.setFrom(mailBean.getFromEmail()); mailMessage.setSubject(mailBean.getEmailTitle()); mailMessage.setText(mailBean.getEmailContent()); javaMailSender.send(mailMessage); } catch (Exception e) { log.error("发送失败", e); return false; } return true; } @Override public boolean sendHTMLMail(MailBean mailBean) throws IitdevRuntimeException { //MimeMessage mailMessage = javaMailSender.createMimeMessage(); // 设置utf-8或GBK编码,否则邮件会有乱码 MimeMessageHelper messageHelper = null; try { messageHelper = new MimeMessageHelper(mimeMessage, true, "utf-8"); messageHelper.setTo(mailBean.getToEmail()); messageHelper.setFrom(mailBean.getFromEmail()); messageHelper.setSubject(mailBean.getEmailTitle()); // 邮件内容,注意加参数true,表示启用html格式 messageHelper.setText(mailBean.getEmailContent(), true); javaMailSender.send(mimeMessage); } catch (Exception e) { log.error("发送失败", e); return false; } return true; } @Override public boolean sendAttachedFileMail(MailBean mailBean) throws IitdevRuntimeException { //MimeMessage mailMessage = javaMailSender.createMimeMessage(); // 设置utf-8或GBK编码,否则邮件会有乱码 MimeMessageHelper messageHelper = null; try { messageHelper = new MimeMessageHelper(mimeMessage, true, "utf-8"); messageHelper.setTo(mailBean.getToEmail()); messageHelper.setFrom(mailBean.getFromEmail()); messageHelper.setSubject(mailBean.getEmailTitle()); // 邮件内容,注意加参数true,表示启用html格式 messageHelper.setText(mailBean.getEmailContent(), true); // 遍历文件上传 for (File file : mailBean.getSendFiles()) { FileSystemResource fsr = new FileSystemResource(file); messageHelper.addAttachment(file.getName(), fsr); } javaMailSender.send(mimeMessage); } catch (Exception e) { log.error("发送失败", e); return false; } return true; }}
相关配置
<!-- e-amil设置 --><bean id="mimeMessage" class="javax.mail.internet.MimeMessage" factory-bean="javaMailSender" factory-method="createMimeMessage" /><bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="host"> <value>${mail.host}</value></property> <property name="username"> <value>${mail.username}</value></property> <property name="password"> <value>${mail.password}</value></property> <property name="javaMailProperties"> <props> <prop key="mail.smtp.auth">true</prop> <prop key="mail.smtp.timeout">25000</prop> <!-- <prop key="mail.smtp.port">25</prop> <prop key="mail.smtp.socketFactory.port">25</prop> <prop key="mail.smtp.socketFactory.fallback">false</prop> <prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop> --> </props> </property> </bean><bean id="sendMail" class="com.base.mail.SendMailImpl"> <property name="javaMailSender" ref="javaMailSender" /> <property name="mimeMessage" ref="mimeMessage" /> </bean>
0 0
- Spring框架发送Email
- Spring+Email 发送邮件
- 通过spring发送email
- Spring 发送Email
- spring发送Email
- 使用Spring发送Email
- 使用Spring发送Email
- Spring Email-邮件发送
- 使用spring发送email
- 使用Spring发送Email
- spring 框架发送 simpleMail email
- Spring用velocity发送email
- 使用Spring邮件发送Email
- spring实现发送Email例子
- Spring使用Velocity发送Email
- 使用Spring邮件发送Email
- 使用spring框架发送email
- Spring Email发送(一)
- mongoDB数据库的查询操作
- Spring mvc中前台表单自动绑定实体类(不用注释)
- Java输入流
- Redis学习手册(实例代码)
- 揭秘Apple Watch心率监测技术
- spring发送Email
- c++问题之-- MessageBoxW”: 不能将参数 2 从“char [20]”转换为“LPCWSTR”
- memmove与memcpy区别
- a
- iOS框架大全
- android自定义view-仿小红书标签
- dubbo
- Hibernate @Formula 攻略
- iOS激情详解之Swift (一)