mail 发送邮件

1.定时发送邮件

思路:1.添加依赖2.发送邮件的类3.配置文件4. 业务层调用发送邮件 5.action将数据带回前端 6.js编写

1.添加依赖

<dependency>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
            <version>1.4.4</version>
        </dependency>

2.发送邮件的类

//2.发送邮件的类
public class MailUtil {
	private JavaMailSender sender; //内置对象
	private String from;//发件人
	public void sendMail(String to, String subject, String text) throws Exception{
		//邮件
		MimeMessage message = sender.createMimeMessage();
		//邮件工具
		MimeMessageHelper helper = new MimeMessageHelper(message);
		//发件人
		helper.setFrom(from);
		//收件人
		helper.setTo(to);
		//标题
		helper.setSubject(subject);
		//邮件内容
		helper.setText(text);
		//发送邮件
		sender.send(message);
	}
	public void setSender(JavaMailSender sender) {
		this.sender = sender;
	}
	public void setFrom(String from) {
		this.from = from;
	}
}

3.配置文件

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="protocol" value="smtp"/>
        <property name="host" value="smtp.zoho.com.cn"/>
        <property name="port" value="465" />
        <property name="username" value="[email protected]"/>
        <property name="password" value="bB123456"/>
        <property name="javaMailProperties">
            <props>
                <!-- 验证发件人与邮箱所有人是否一致 -->
                <prop key="mail.smtp.auth">true</prop>
                <!-- 发送服务器: smtp.zoho.com.cn, 端口: 465, SSL -->
                <prop key="mail.smtp.ssl.enable">true</prop>
            </props>
        </property>
    </bean>
    <bean id="mailUtil" class="cn.itcast.erp.util.MailUtil">
        <!-- 调用发送邮件的配置 -->
        <property name="sender" ref="mailSender"></property>
        <!-- 收件人 -->
        <property name="from" value="[email protected]" />
    </bean>
</beans>

4.业务层调用发送邮件

/**
	 * 点击按钮,发送邮件
	 */
	private String to;//收件人
	private String subject;//邮件标题
	private String text;//邮件内容
	private IStoredetailDao storedetailDao;
	@Override
	public void sendStorealertMail() throws Exception {
		//查询是否有需要预警的数据
		List<Storealert> storealertList = storedetailDao.getStorealertList();
		if(null != storealertList && storealertList.size() > 0){
			DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

			mailUtil.sendMail(to, subject.replace("[time]", df.format(new Date())),
					text.replace("[count]", storealertList.size() + ""));
		}
	}

4.1配置文件 

<bean id="storedetailBiz" class="cn.itcast.erp.biz.impl.StoredetailBiz">
        <property name="storedetailDao" ref="storedetailDao"></property>
        <property name="goodsDao" ref="goodsDao"></property>
        <property name="storeDao" ref="storeDao"></property>
        <property name="mailUtil" ref="mailUtil"></property>
        <property name="to" value="[email protected]"></property>
        <property name="subject" value="库存预警_时间:[time]"></property>
        <property name="text" value="亲!有[count]种商品已经库存不足,请登陆ERP系统查看"></property>
    </bean>

5.action将数据带回前端

/**
     * 发送库存预警邮件
     */
    public void sendStorealertMail(){
        try {
            storedetailBiz.sendStorealertMail();
            ajaxReturn(true,"库存预警邮件发送成功");
        } catch (Exception e) {
            e.printStackTrace();
            ajaxReturn(false,"库存预警邮件发送失败");
        }
    }

6.js编写,数据 表格

$(function(){
    //加载表格数据
    $(‘#grid‘).datagrid({
        url:‘storedetail_storealertList‘,
        columns:[[
              {field:‘uuid‘,title:‘商品编号‘,width:100},
              {field:‘name‘,title:‘商品名称‘,width:100},
              {field:‘storenum‘,title:‘库存数量‘,width:100},
              {field:‘outnum‘,title:‘待发货数量‘,width:100}
        ]],
        singleSelect: true,
        pagination: true,
        toolbar:[
            {
                text:‘发送预警邮件‘,
                iconCls:‘icon-alert‘,
                handler:function(){
                    $.ajax({
                        url:‘storedetail_sendStorealertMail‘,
                        dataType:‘json‘,//把服务器响应回来的数据转换成json对象
                        type:‘post‘,
                        success:function(rtn){
                            $.messager.alert(‘提示‘,rtn.message,‘info‘);
                        }
                    });
                }
            }
        ]
    });
});

7.html页面

<link rel="stylesheet" type="text/css"
	href="ui/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="ui/themes/icon.css">
<script type="text/javascript" src="ui/jquery.min.js"></script>
<script type="text/javascript" src="ui/jquery.easyui.min.js"></script>
<script type="text/javascript" src="ui/locale/easyui-lang-zh_CN.js"></script>
<script type="text/javascript" src="ui/jquery.serializejson.min.js"></script>
<script type="text/javascript" src="js/storealert.js"></script>

</head>
<body>

<table id="grid"></table></body>

  

时间: 2024-12-17 07:03:41

mail 发送邮件的相关文章

linux学习-mail发送邮件(mail不能发邮件)

主机:centos 7 , 安装sendmail,启动sendmail,一般就可以了,但是有些同学为什么不行,就是启不动出现如下的情况!那现在如何解决. yum install sendmail systemctl start sendmail.service systemctl status sendmail.service ● sendmail.service - Sendmail Mail Transport Agent Loaded: loaded (/usr/lib/systemd/s

java mail发送邮件

import java.io.UnsupportedEncodingException;import java.util.Date;import java.util.Properties; import javax.mail.Authenticator;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.NoSuchProviderException;import javax.mail.

java mail发送邮件demo 代码

java mail发送邮件demo,引入mail.jar,运行测试发送ok[代码][Java]代码     01import java.util.Date;02import java.util.Properties;0304import javax.mail.Authenticator;05import javax.mail.Message;06import javax.mail.MessagingException;07import javax.mail.PasswordAuthenticat

Android Java Mail与Apache Mail发送邮件对比

原文链接: 一.邮件简介  一封邮件由很多信息构成,主要的信息如下,其他的暂时不考虑,例如抄送等:  1.收件人:收件人的邮箱地址,例如[email protected]  2.收件人姓名:大部分的邮件显示时都会显示,例如loadfate [email protected]  3.发件人:发件人的邮箱地址  4.发件人姓名:  5.主题:邮件的标题  6.内容及附件:邮件的主要内容 二.使用Java发邮件的通用步骤  一般的项目中没有单独的邮件服务器,一般情况下都是使用别人的服务器.  1.设置

linux利用mail发送邮件设置

linux利用mail发送邮件 第一步检查的mail命令是否安装 第二步如果设置mailx smtp set [email protected] set smtp=smtp.163.com set smtp-auth-user=myname set smtp-auth-password=password (客户端授权密码) set smtp-auth=login 第三步163邮箱开启smtp pop3 注意:一般自己发送给自己.发送给其他账号可能出现问题. 在Linux系统下mail命令的测试

C# 使用System.Net.Mail;发送邮件Email

发送邮件是很简单的功能,但是会经常用到,这里写一下最简单的方法. //记得引用 using System.Net.Mail; /// <summary> /// 发送电子邮件 /// </summary> /// <param name="smtpserver">SMTP服务器</param> /// <param name="userName">登录帐号</param> /// <par

.net System.Web.Mail发送邮件 (设置发件人 只显示用户名)

http://blog.163.com/hao_2468/blog/static/130881568201141251642215/ .net System.Web.Mail发送邮件 2011-05-12 17:16:42|  分类: asp.net学习 |  标签:.net发送邮件  |举报|字号 订阅 net System.Web.Mail发送邮件 用System.Web.Mail发送邮件,适用于.net1.1.net2.0请用System.Net.Mail 先引用System.Web 1,

linux下使用自带mail发送邮件

linux下使用自带mail发送邮件 linux 发邮件最简单的办法 最近想通过linux监控系统状况并自动报警,一般Linux发送报警邮件通过本地邮箱或外部邮箱服务器,这里用最简单的方法实现linux 使用外部邮箱即可实现发送邮件功能,你只需简单注册个国内的邮件服务商邮箱,如163,也可以使用公司邮箱,需要安装mailx工具,mailx是一个小型的邮件发送程序. mail安装及配置具体步骤如下: 1.安装 [[email protected] ~]# yum install mailx 2.编

Java mail发送邮件附件出现.eml文件夹

在使用JAVA MAIL发送邮件时,163邮箱和QQ邮箱收到PDF附件,格式错误如下图: 163邮箱: QQ邮箱: 经历了很长时间的研究和测试,错误原因为在邮件正文和邮件附件用的MimeBodyPart对象是同一个,进而导致上述现象,解决办法为正文是一个MimeBodyPart对象,一个附件是一个MimeBodyPart对象.正确代码如下: 原文地址:https://www.cnblogs.com/XH09/p/10981329.html

linux下用mail发送邮件

利用外部邮箱发送邮件的方法 bin/mail会默认使用本地sendmail发送邮件,这样要求本地的机器必须安装和启动Sendmail服务,配置很麻烦,并且会带来不必要的 资源占用.而通过改动配置文件能够使用外部SMTPserver,能够达到不使用sendmail而用外部的smtpserver发送邮件的目的: 改动/etc/nail.rc (/etc/mail.rc) set [email protected] smtp=smtp.domain.comset smtp-auth-user=user