SSM 框架 发邮件功能实现,超详细

1,设定固定发件箱
指定一邮箱:以qq邮箱为例,去到qq邮箱官网
找到设置—>账户 —>开启服务:
POP3/SMTP服务 (如何使用 Foxmail 等软件收发邮件?)
开启这个服务,期间会获得一个激活码,要保存这个激活码,后面会用到。

在这里插入图片描述2.在pom.xml文件中引入发送邮件所需要的jar包。

<dependency>
      <groupId>com.sun.mail</groupId>
      <artifactId>javax.mail</artifactId>
      <version>1.6.1</version>
</dependency>

引入后记得右击项目名–》maven-----》reimport真正将包导入项目
3,在spring配置文件中配置邮件发送需要的bean[用到激活码]
我的是applicationContext.xml

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="host" value="smtp.qq.com"/>//网易邮箱就是smtp.163.com,其他邮箱自行对比
        <property name="username" value="固定的发件箱地址"/>//qq就是 “qq号@qq.com”
        <property name="password" value="刚刚保存的激活码"/>
        <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>

4,可以去编写controller文件了

import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import javax.annotation.Resource;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import javax.servlet.http.HttpServletRequest;
@Controller
@RequestMapping("mail")
public class SendMailController {
    @Resource
    private JavaMailSender javaMailSender;//在spring中配置的邮件发送的bean

    @RequestMapping(value="/send",method= RequestMethod.POST)
    public String sendMail03(HttpServletRequest request) {
        MimeMessage mMessage = javaMailSender.createMimeMessage();//创建邮件对象
        MimeMessageHelper mMessageHelper;
        String from = "固定的发件箱";
        String sendto = request.getParameter("sendto");//这里利用request接受前台数据,接受的收件人地址
        System.out.println(sendto);
        String emailname = request.getParameter("emailname");//接受的邮件主题
        String emailcontent = request.getParameter("emailcontent");//接受的邮件内容
        try {
            System.out.println(from);
            mMessageHelper = new MimeMessageHelper(mMessage, true);
            mMessageHelper.setFrom(from);//发件人邮箱
            mMessageHelper.setTo(sendto);//收件人邮箱
            mMessageHelper.setSubject(emailname);//邮件的主题
            mMessageHelper.setText(emailcontent);//邮件的文本内容,true表示文本以html格式打开
            javaMailSender.send(mMessage);//发送邮件
        } catch (MessagingException e) {
            e.printStackTrace();
            return "senderror";
        }
        return "sendsuccess";
    }
}

5,最后如何向后台传数据就很简单了,表单提交就好
如有帮助给个赞谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值