Spring发送邮件简单试用

本文介绍如何在Spring框架中配置并使用JavaMailSender发送邮件。通过配置文件设置SMTP服务器参数,实现邮件发送功能,并提供了Controller层的具体实现代码。

spring中已经封装了邮件操作类,通过spring配置文件可以便捷地注入到controller、action等地方。

下面是配置:

<!-- mail sender -->
	<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"
		p:host="${mail.host}" p:port="${mail.port}" 
		p:username="${mail.user}" p:password="${mail.passwd}"></bean>

mail配置

################### Email Configuration ##########################
mail.host=smtp.163.com
mail.port=25
mail.user=xxxxxx@163.com
mail.passwd=xxxxxxxx
mail.from=xxxxxx@163.com

控制器中注入mailSender

@Controller
public class EmailController {
	private MailSender mailSender;
	@Value("${mail.from}")
	String emailFrom;
	
	@Autowired
	public void setMailSender(MailSender mailSender) {
		this.mailSender = mailSender;
	}
	
	@RequestMapping(value="/sendEmail",method=RequestMethod.POST)
	public ModelAndView sendEmail(@ModelAttribute("newEmail") ContactEmail newEmail,
			BindingResult bindResult,SessionStatus status){
		SimpleMailMessage message = new SimpleMailMessage();
		message.setTo(newEmail.getTo());
		message.setFrom(emailFrom);
		message.setSubject(newEmail.getSubject());
		message.setText(newEmail.getContent());
		String result = "";
		try{
			mailSender.send(message);
			result = "Email was sent!";
		}catch(MailException e){
			result = "Sending email failed!<br/><hr/>"+e.getMessage();
		}
		ModelAndView view = new ModelAndView("emailResult");
		view.addObject("result", result);
		return view;
	}
}
mail form

<form:form action="sendEmail.do" method="post" commandName="newEmail">
	<div>
		<p>   to:<form:input path="to" cssStyle="width:260px;"/>
			<form:errors path="to" cssStyle="color:red;"/></p>
		<p>subject:<form:input path="subject" cssStyle="width:260px;"/>
			<form:errors path="subject" cssStyle="color:red;"/></p>
		<p>content:<form:textarea path="content" rows="5" cols="60"></form:textarea><br/>
			<form:errors path="content" cssStyle="color:red;"/></p>
		<p><input type="submit" value="confirm and send"/></p>
	</div>
	
</form:form>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dyyaries

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值