精华内容
下载资源
问答
  • java邮件推送核心代码

    2013-08-22 10:45:26
    java邮件推送 导入myeclipse直接可用 下载后请先阅读readme.txt
  • java中邮箱推送的一个示例,欢迎各位前来下载讨论
  • java实现邮箱推送

    千次阅读 2018-12-26 14:23:25
    这边使用qq邮箱演示; 首先进入qq邮箱,进入设置,账户设置... ...import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.MessagingException; imp...

    这边使用qq邮箱演示;
    首先进入qq邮箱,进入设置,账户设置;
    下载 mail.jar 包 ;

    在这里插入图片描述
    生成授权码
    *

    直接上代码!
    package com.ld.cws.advice;

    import java.util.Properties;

    import javax.mail.Authenticator;
    import javax.mail.Message;
    import javax.mail.MessagingException;
    import javax.mail.PasswordAuthentication;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.AddressException;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
    import javax.mail.internet.MimeMessage.RecipientType;

    import org.springframework.stereotype.Component;

    @Component
    public class MailUtils {

     public static void main(String[] args) {
    try {
    
     // 接收者的邮箱账号,与发送的内容
     sendMail("*****@qq.com", "1#柜上触头A相温度为:70℃,请<a
     href='http://192.168.3.223/'>登录</a>江苏利***系统查看详情!","报警信息");
    
     } catch (AddressException e) {
     TODO Auto-generated catch block
    e.printStackTrace();
    

    /} catch (MessagingException e) {
    TODO Auto-generated catch block
    e.printStackTrace();
    }
    }

    /**
     * 
     * @Title: sendMail
     * @Description: 实现发送邮件
     * @param email:接收邮件的地址
     * @param emailMsg:发送邮件的内容
     * @throws AddressException
     * @throws MessagingException
     */
    public void sendMail(String email, String emailMsg, String aaa) throws AddressException, MessagingException {
    	// 1.创建一个程序与邮件服务器会话对象 Session
    
    	Properties props = new Properties();
    	props.setProperty("mail.transport.protocol", "SMTP");
    
    	// 163邮箱设置
    	// props.setProperty("mail.host", "smtp.163.com");
    
    	// qq邮箱设置
    	props.setProperty("mail.host", "smtp.qq.com");
    
    	props.setProperty("mail.smtp.auth", "true");// 指定验证为true
    
    	// 创建验证器
    	Authenticator auth = new Authenticator() {
    		public PasswordAuthentication getPasswordAuthentication() {
    			// 自己的邮箱账号和密码(发送者){qq邮箱开启登录授权码时会给你一个授权码此授权码就是你登 入邮箱的密码}
    
    			return new PasswordAuthentication("jsl**", "****yquafxrfabcbaf");// 授权码
    		}
    	};
    
    	Session session = Session.getInstance(props, auth);
    
    	// 2.创建一个Message,它相当于是邮件内容
    	Message message = new MimeMessage(session);
    
    	message.setFrom(new InternetAddress("**8@qq.com")); // 设置发送者(自己的邮箱账号)
    
    	message.setRecipient(RecipientType.TO, new InternetAddress(email)); // 设置发送方式与接收者
    
    	message.setSubject(aaa);
    	// message.setText("这是一封激活邮件,请<a href='#'>点击</a>");
    
    	message.setContent(emailMsg, "text/html;charset=utf-8");
    
    	// 3.创建 Transport用于将邮件发送
    
    	Transport.send(message);
    }
    

    }

    插入链接与图片

    链接: link.

    图片: Alt

    带尺寸的图片: Alt

    居中的图片: Alt

    居中并且带尺寸的图片: Alt

    当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

    如何插入一段漂亮的代码片

    博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

    // An highlighted block
    var foo = 'bar';
    

    生成一个适合你的列表

    • 项目
      • 项目
        • 项目
    1. 项目1
    2. 项目2
    3. 项目3
    • 计划任务
    • 完成任务

    创建一个表格

    一个简单的表格是这么创建的:

    项目Value
    电脑$1600
    手机$12
    导管$1

    设定内容居中、居左、居右

    使用:---------:居中
    使用:----------居左
    使用----------:居右

    第一列第二列第三列
    第一列文本居中第二列文本居右第三列文本居左

    SmartyPants

    SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

    TYPEASCIIHTML
    Single backticks'Isn't this fun?'‘Isn’t this fun?’
    Quotes"Isn't this fun?"“Isn’t this fun?”
    Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

    创建一个自定义列表

    Markdown
    Text-to- HTML conversion tool
    Authors
    John
    Luke

    如何创建一个注脚

    一个具有注脚的文本。1

    注释也是必不可少的

    Markdown将文本转换为 HTML

    KaTeX数学公式

    您可以使用渲染LaTeX数学表达式 KaTeX:

    Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n1)!nN 是通过欧拉积分

    Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t &ThinSpace; . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

    你可以找到更多关于的信息 LaTeX 数学表达式here.

    新的甘特图功能,丰富你的文章

    Mon 06 Mon 13 Mon 20 已完成 进行中 计划一 计划二 现有任务 Adding GANTT diagram functionality to mermaid
    • 关于 甘特图 语法,参考 这儿,

    UML 图表

    可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图::

    张三 李四 王五 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 李四想了很长时间, 文字太长了 不适合放在一行. 打量着王五... 很好... 王五, 你怎么样? 张三 李四 王五

    这将产生一个流程图。:

    链接
    长方形
    圆角长方形
    菱形
    • 关于 Mermaid 语法,参考 这儿,

    FLowchart流程图

    我们依旧会支持flowchart的流程图:

    Created with Raphaël 2.2.0 开始 我的操作 确认? 结束 yes no
    • 关于 Flowchart流程图 语法,参考 这儿.

    导出与导入

    导出

    如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

    导入

    如果你想加载一篇你写过的.md文件或者.html文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
    继续你的创作。


    1. 注脚的解释 ↩︎

    展开全文
  • 消息推送 邮件推送 (javaMail实现)

    千次阅读 2019-04-29 22:20:28
    javaMail实现邮件推送 javaMail不解释了,需要的自己去百度 直接说实现的步骤 1.设置自己的邮箱为发件邮箱,我这里是qq邮箱 好了,保存好你的授权码,很重要的 做到这里你已经完成了很大的工作,...

    javaMail实现邮件的推送

    javaMail不解释了,需要的自己去百度

    直接说实现的步骤

    1.设置自己的邮箱为发件邮箱,我这里是qq邮箱

     

     

    好了,保存好你的授权码,很重要的

    做到这里你已经完成了很大的工作,现在就上代码:

    //设置基本参数
    
    Properties prop = new Properties();
    prop.setProperty("mail.host", "smtp.qq.com");
    prop.setProperty("mail.transport.protocol", "smtp");
    prop.setProperty("mail.smtp.auth", "true");
    Session session = Session.getInstance(prop);
    session.setDebug(true);
    
    
    
    	Transport ts = session.getTransport();
    		ts.connect("smtp.qq.com", "你的qq邮箱", "生成的授权码");
    		Message message = createEmail(session,newsobj);
    		ts.sendMessage(message, message.getAllRecipients());
    		ts.close();

    好了,基本的设置完成,现在开始发邮件了

    		
            MimeMessage message = new MimeMessage(session);
            message.setFrom(new InternetAddress("2498414290@qq.com"));
            //获取邮箱 
            //自己实现的是从数据库中获取用户的邮箱,遍历
            Map<Integer, String> selectEmail = selectEmail();
            Object[] arr =  selectEmail.values().toArray();
    		  InternetAddress[] sendTo = new InternetAddress[arr.length];  
    		  
    		  for (int i = 0; i < arr.length; i++) {  
    	            System.out.println("发送到:" + arr[i]);  
    	            sendTo[i] = new InternetAddress((String) arr[i]);  
    	        }  
    	            //设置收信人
    		//  mimeMsg.setRecipients(javax.mail.internet.MimeMessage.RecipientType.TO, sendTo);  
    	            message.setRecipients(Message.RecipientType.TO, sendTo);
    	           // message.addRecipients(Message.RecipientType.TO, sendTo);
    	            
    	            //设置邮件内容 数据库获取
    
    	            
    	            List select = select(newsobj);
    			     message.setSubject(select.get(1).toString()); 
    			     String info = select.get(0).toString();
    			     message.setContent(info, "text/html;charset=UTF-8");
    			     message.saveChanges();
            
    		  return message;
         
         
          

    到这里已经完了,可能觉得不够详细,没事,我贴上完整的代码:

    package com.email;
    
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.Properties;
    
    import javax.mail.Message;
    import javax.mail.MessagingException;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
    
    import com.entity.News;
    import com.util.JDBCUtil;
    
    public class EmailUtil {
    
    	
    public void email(News newsobj) {
    	Properties prop = new Properties();
        prop.setProperty("mail.host", "smtp.qq.com");
        prop.setProperty("mail.transport.protocol", "smtp");
        prop.setProperty("mail.smtp.auth", "true");
        Session session = Session.getInstance(prop);
        session.setDebug(true);
        try {
        	Transport ts = session.getTransport();
    		ts.connect("smtp.qq.com", "2498414290@qq.com", "ececbpqvhidseaha");
    		Message message = createEmail(session,newsobj);
    		ts.sendMessage(message, message.getAllRecipients());
    		ts.close();
    	} catch (MessagingException e) {
    		// TODO Auto-generated catch block
    		e.printStackTrace();
    	} catch (Exception e) {
    		// TODO Auto-generated catch block
    		e.printStackTrace();
    	}
    	}
    	
    	public Message createEmail(Session session,News newsobj) throws Exception{
    		
            MimeMessage message = new MimeMessage(session);
            message.setFrom(new InternetAddress("2498414290@qq.com"));
            //获取邮箱
            Map<Integer, String> selectEmail = selectEmail();
    		/*
    		 * for (Integer in : selectEmail.keySet()) { //map.keySet()返回的是所有key的值 String
    		 * str = selectEmail.get(in);//得到每个key多对用value的值 // arr[in]=str;
    		 * 
    		 * 
    		 * }
    		 */
            Object[] arr =  selectEmail.values().toArray();
    		  InternetAddress[] sendTo = new InternetAddress[arr.length];  
    		  
    		  for (int i = 0; i < arr.length; i++) {  
    	            System.out.println("发送到:" + arr[i]);  
    	            sendTo[i] = new InternetAddress((String) arr[i]);  
    	        }  
    	            //设置收信人
    		//  mimeMsg.setRecipients(javax.mail.internet.MimeMessage.RecipientType.TO, sendTo);  
    	            message.setRecipients(Message.RecipientType.TO, sendTo);
    	           // message.addRecipients(Message.RecipientType.TO, sendTo);
    	            
    	            //设置邮件内容 数据库获取
    
    	            
    	            List select = select(newsobj);
    			     message.setSubject(select.get(1).toString()); 
    			     String info = select.get(0).toString();
    			     message.setContent(info, "text/html;charset=UTF-8");
    			     message.saveChanges();
            
    		  return message;
         
         
          
        }
    	
    	 //邮箱查询
        public Map<Integer, String> selectEmail() {
        	//链接数据库查询所有用户的邮箱
        	//原生sql查询
    		Connection conn  = null;
    		Statement st = null;
    		ResultSet rs = null;
    		Map<Integer, String> map = new HashMap<Integer, String>();
    		try {
    			//1. 注册驱动 
    			conn = JDBCUtil.getConn();
    			//3. 创建statement , 跟数据库打交道,一定需要这个对象
    			st = conn.createStatement();
    			
    			//4. 执行查询 , 得到结果集
    			//查询用户列表下权限为1的普通用户的邮箱
    			
    			String sql = "select email from user where role = 1;";
    			rs = st.executeQuery(sql);
    			//遍历
    		
    			for (int i =0;rs.next();i++) {
    				String string = rs.getString("email");
    				map.put(i, string);
    				System.out.println(string);
    		
    				
    			}
    			
    		} catch (Exception e) {
    			e.printStackTrace();
    			
    		}finally{
    			JDBCUtil.release(conn, st, rs);
    		}
        
    		return map;
        }
        
        //查询邮件内容
        public List select(News newsobj) {
        	//链接数据库查询所有用户的邮箱
        	//原生sql查询
    		Connection conn  = null;
    		Statement st = null;
    		ResultSet rs = null;
    		List list = new ArrayList();
    		try {
    			//1. 注册驱动 
    			conn = JDBCUtil.getConn();
    			//3. 创建statement , 跟数据库打交道,一定需要这个对象
    			st = conn.createStatement();
    			
    			//4. 执行查询 , 得到结果集
    			//查询用户列表下权限为1的普通用户的邮箱
    			// order by addtime desc limit 0,1 ;
    			String sql = "select title,content from news order by addtime desc limit 0,1;";
    			rs = st.executeQuery(sql);
    		
    			while(rs.next()){
    			
    		
    				String string = rs.getString("Content");
    			
    					list.add(0,rs.getString("Content"));
    					list.add(1,rs.getString("title"));
    			}
    			}
    			
    	
    			catch (Exception e) {
    			e.printStackTrace();
    			
    		}finally{
    			JDBCUtil.release(conn, st, rs);
    		}
        
    		return list;
        }
        
    }
    

     

    展开全文
  • 邮件定时推送

    2019-06-10 01:11:30
    NULL 博文链接:https://lbovinl.iteye.com/blog/2337899
  • java mail 实现邮件推送

    千次阅读 2018-11-23 16:17:58
    今天在做邮件推送功能,即当邮件服务器接收到新邮件时,客户端这边可以立即接收到。 思路:利用 Java Mail IMAP IDLE 去实现此功能 刚开始利用 folder.idle()去实现,代码如下,但出现一个问题,接收到新邮件...

    今天在做邮件的推送功能,即当邮件服务器接收到新邮件时,客户端这边可以立即接收到。

    思路:利用 Java Mail IMAP IDLE 去实现此功能

    刚开始利用 folder.idle()去实现,代码如下,但出现一个问题,接收到新邮件之后,会自动断开监听。

     IMAPFolder folder = (IMAPFolder)store.getFolder("INBOX");
            folder.open(Folder.READ_WRITE);
            folder.addMessageCountListener(new MessageCountAdapter() {
                @Override
                public void messagesAdded(MessageCountEvent e) {
                    super.messagesAdded(e);
                    Message[] msgs = e.getMessages();
                    for(int i=0;i<msgs.length;i++){
                        try {
                            Log.e("add 邮件","add 邮件主题"+msgs[i].getSubject());
                        } catch (MessagingException e1) {
                            e1.printStackTrace();
                        }
                    }
                   
                }
    
                @Override
                public void messagesRemoved(MessageCountEvent e) {
                    super.messagesRemoved(e);
                    Message[] msgs = e.getMessages();
                    for(int i=0;i<msgs.length;i++){
                        try {
                            Log.e("remove 邮件","remove 邮件主题"+msgs[i].getSubject());
                        } catch (MessagingException e1) {
                            e1.printStackTrace();
                        }
                    }
                }
            });
            folder.idle(true);

     查看官方文档:

    Google翻译:与idle()类似,但如果一次为真,则在第一次通知后中止IDLE命令,以允许调用者同步处理任何通知。

    然后我就用folder.idle()去替代folder.idle(true),但貌似还是没起作用,下面是idle()方法的介绍

    Google翻译:如果服务器支持,则使用IMAP IDLE命令(请参阅RFC 2177)进入空闲模式,以便服务器可以发送未经请求的新消息到达等通知,而无需客户端不断轮询服务器。 使用适当的侦听器来通知新消息或其他事件。 当另一个线程(例如,侦听器线程)需要为该文件夹发出IMAP命令时,将终止空闲模式并返回此方法。 通常,调用者将在循环中调用此方法。
    mail.imap.minidletime属性在从此方法返回之前强制执行最小延迟,以确保其他线程有机会在调用者再次调用此方法之前发出命令。 默认延迟为10毫秒。

    最后如何解决的:

    利用IdleManager迅速解决了此问题(查阅了官网文档)

     ExecutorService es = Executors.newCachedThreadPool();
            final IdleManager idleManager = new IdleManager(session, es);
            IMAPFolder folder = (IMAPFolder)store.getFolder("INBOX");
            folder.open(Folder.READ_WRITE);
            folder.addMessageCountListener(new MessageCountAdapter() {
                @Override
                public void messagesAdded(MessageCountEvent e) {
                    super.messagesAdded(e);
                    Folder folder = (Folder)e.getSource();
                    Message[] msgs = e.getMessages();
                    for(int i=0;i<msgs.length;i++){
                        try {
                            Log.e("add 邮件","add 邮件主题"+msgs[i].getSubject());
                        } catch (MessagingException e1) {
                            e1.printStackTrace();
                        }
                    }
                    try {
                        idleManager.watch(folder);
                    } catch (MessagingException e1) {
                        e1.printStackTrace();
                    }
                }
    
                @Override
                public void messagesRemoved(MessageCountEvent e) {
                    super.messagesRemoved(e);
                    Message[] msgs = e.getMessages();
                    for(int i=0;i<msgs.length;i++){
                        try {
                            Log.e("remove 邮件","remove 邮件主题"+msgs[i].getSubject());
                        } catch (MessagingException e1) {
                            e1.printStackTrace();
                        }
                    }
                }
            });
            idleManager.watch(folder);
    

     目前此方法测试良好,但可能会出现断线重连的状况,IMAP指出30分钟内无任何响应,会自动断开连接,所以这个问题我们也得重视。

    展开全文
  • 阿里云邮件推送控制台 https://www.aliyun.com/product/directmail 申请邮箱并解析域名 https://yq.aliyun.com/articles/707997 1. 邮箱信息实体类 package cn.bitqian.mail.test; /** * 邮件内容实体类 * @aut

    绑定阿里云域名,创建域名账户,并配置解析域名账户,获得发送邮箱的权限,上限两百封,超出要¥…

    1. 邮箱信息实体类

    package cn.bitqian.mail.test;
    
    /**
     * 邮件内容实体类
     * @author echo lovely
     * @date 2020/9/18 15:47
     */
    public class MailInfo {
    
        // 发件人账户
        private String sendEmailAccount;
    
        // 发件人密码
        private String sendEmailPassword;
    
        // 收件人账户
        private String receiveMailAccount;
    
        // 发送人姓名
        private String sendPersonName;
    
        // 收件人姓名
        private String receivePersonName;
    
       // 邮件标题
        private String mailTitle;
    
        // 邮件正文
        private String mailContent;
    
        public MailInfo(String sendEmailAccount, String sendEmailPassword, String receiveMailAccount,
                        String sendPersonName, String receivePersonName,
                        String mailTitle, String mailContent) {
            this.sendEmailAccount = sendEmailAccount;
            this.sendEmailPassword = sendEmailPassword;
            this.receiveMailAccount = receiveMailAccount;
            this.sendPersonName = sendPersonName;
            this.receivePersonName = receivePersonName;
            this.mailTitle = mailTitle;
            this.mailContent = mailContent;
        }
    
        public String getSendEmailAccount() {
            return sendEmailAccount;
        }
    
        public void setSendEmailAccount(String sendEmailAccount) {
            this.sendEmailAccount = sendEmailAccount;
        }
    
        public String getSendEmailPassword() {
            return sendEmailPassword;
        }
    
        public void setSendEmailPassword(String sendEmailPassword) {
            this.sendEmailPassword = sendEmailPassword;
        }
    
        public String getReceiveMailAccount() {
            return receiveMailAccount;
        }
    
        public void setReceiveMailAccount(String receiveMailAccount) {
            this.receiveMailAccount = receiveMailAccount;
        }
    
        public String getMailTitle() {
            return mailTitle;
        }
    
        public void setMailTitle(String mailTitle) {
            this.mailTitle = mailTitle;
        }
    
        public String getMailContent() {
            return mailContent;
        }
    
        public void setMailContent(String mailContent) {
            this.mailContent = mailContent;
        }
    
        public String getSendPersonName() {
            return sendPersonName;
        }
    
        public void setSendPersonName(String sendPersonName) {
            this.sendPersonName = sendPersonName;
        }
    
        public String getReceivePersonName() {
            return receivePersonName;
        }
    
        public void setReceivePersonName(String receivePersonName) {
            this.receivePersonName = receivePersonName;
        }
    }
    
    

    2. jar包依赖

     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <version>4.11</version>
       <scope>test</scope>
     </dependency>
    
     <!-- mail dependency -->
     <dependency>
       <groupId>com.sun.mail</groupId>
       <artifactId>javax.mail</artifactId>
       <version>1.6.2</version>
     </dependency>
    

    3. 发送邮箱实现

    注意:
    	1. 更改下面的属性,与实体类对应
    

    在这里插入图片描述
    代码实现

    package cn.bitqian.mail.test;
    
    import org.junit.Test;
    
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
    import java.util.Date;
    import java.util.Properties;
    
    
    /**
     * 邮件发送工具类
     * @author echo lovely
     * @date 2020/9/18 15:54
     */
    public class MailSendUtils {
    
        // 邮箱smtp协议 这里是使用阿里云的
        public static final String myEmailSMTPHost = "smtpdm.aliyun.com";
    
        @Test
        public void test() {
            MailInfo mailInfo = new MailInfo("控制台所绑定的邮箱账户名",
                    "绑定账户邮箱密码",
                    "收件人邮箱名", "发件人姓名",
                    "收件人姓名", "邮箱标题", "邮箱内容");
            try {
                sendEmail(mailInfo);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        public void sendEmail(MailInfo mailInfo) throws Exception {
    
            // 1. 创建参数配置, 用于连接邮件服务器的参数配置
            Properties props = new Properties();                    // 参数配置
            props.setProperty("mail.transport.protocol", "smtp");   // 使用的协议(JavaMail规范要求)
            props.setProperty("mail.smtp.host", myEmailSMTPHost);   // 发件人的邮箱的 SMTP 服务器地址
            props.setProperty("mail.smtp.auth", "true");            // 需要请求认证
    
            // 2. 根据配置创建会话对象, 用于和邮件服务器交互
            Session session = Session.getInstance(props);
            session.setDebug(true);                                 // 设置为debug模式, 可以查看详细的发送 log
    
            // 3. 创建一封邮件
            MimeMessage message = new MailSendUtils().createMimeMessage(session, mailInfo);
    
            // 4. 根据 Session 获取邮件传输对象
            Transport transport = session.getTransport();
    
            // 5. 使用 邮箱账号 和 密码 连接邮件服务器, 这里认证的邮箱必须与 message 中的发件人邮箱一致, 否则报错
            transport.connect(mailInfo.getSendEmailAccount(), mailInfo.getSendEmailPassword());
    
            // 6. 发送邮件, 发到所有的收件地址, message.getAllRecipients() 获取到的是在创建邮件对象时添加的所有收件人, 抄送人, 密送人
            transport.sendMessage(message, message.getAllRecipients());
    
            // 7. 关闭连接
            transport.close();
        }
    
    	
        public MimeMessage createMimeMessage(Session session, MailInfo mailInfo) throws Exception {
            // 1. 创建一封邮件
            MimeMessage message = new MimeMessage(session);
    
            // 2. From: 发件人(昵称有广告嫌疑,避免被邮件服务器误认为是滥发广告以至返回失败,请修改昵称)
            message.setFrom(new InternetAddress(mailInfo.getSendEmailAccount(), mailInfo.getSendPersonName(), "UTF-8"));
    
            // 3. To: 收件人(可以增加多个收件人、抄送、密送)
            message.setRecipient(MimeMessage.RecipientType.TO,
                    new InternetAddress(mailInfo.getReceiveMailAccount(), mailInfo.getReceivePersonName(), "UTF-8"));
    
            // 4. Subject: 邮件主题(标题有广告嫌疑,避免被邮件服务器误认为是滥发广告以至返回失败,请修改标题)
            message.setSubject(mailInfo.getMailTitle(), "UTF-8");
    
            // 5. Content: 邮件正文(可以使用html标签)(内容有广告嫌疑,避免被邮件服务器误认为是滥发广告以至返回失败,请修改发送内容)
            message.setContent(mailInfo.getMailContent(), "text/html;charset=UTF-8");
    
            // 6. 设置发件时间
            message.setSentDate(new Date());
    
            // 7. 保存设置
            message.saveChanges();
    
            return message;
        }
    
    }
    
    
    
    展开全文
  • 阿里云-邮件推送Java 测试代码1.[根据一个博客的配置信息](https://blog.csdn.net/shenhonglei1234/article/details/99694398)2.创建 Access Key2.1登录 Access Key 管理控制台。2.2单击页面右上角按钮 创建 Access ...
  • 使用Javax.Mail的Java推送邮件(IMAP IDLE)
  • Java定时推送邮件服务

    2021-11-15 10:08:34
    以前发送都是正常,每日两条,每天早8:00 和晚18:00 但是最近出现早8:00推送两条问题; 稍后完成代码审查,问题修复!
  • 但是数据和程序分开时,还需要先下载数据,保存到本地再发送邮件。查了很多资料后,发现apach提供了很好的一个commons-mail.jar包,做了很好的封装,简单易用。下载地址是...
  • java邮箱API

    2014-02-24 22:46:53
    java实现邮件的发送接收的开发文档
  • java定时发送邮件

    2018-06-13 10:55:18
    java定时发送邮件java定时发送邮件java定时发送邮件java定时发送邮件java定时发送邮件java定时发送邮件java定时发送邮件
  • 邮件推送 Java代码

    2021-02-26 11:32:29
    import java.io.File;import java.util.Date;import java.util.List;import java.util.Properties;import java.util.Vector;import javax.activation.DataHandler;import javax.activation.FileDataSou...
  • java实现定时发送邮件

    2020-12-21 04:32:26
    前几天,需要做一个功能就是 客户使用我们公司的设备...首先,我们先测试邮件发送  controller层   package com.csq.study.controller; import org.springframework.web.bind.annotation.ResponseBody; import org.sp
  • 收发邮件提醒,在线IM聊天,自动化办公提示等等,web系统里总是能见到消息推送的应用。消息推送用好了能增强用户体验,用不好则会起相反的效果。在司空见惯的使用过程中,有没有对其中的原理产生兴趣呢?实现消息...
  • } /** * @desc 推送信息 * @param token * @param msg * @return */ public String sendMessage(String token,String msg){ try{ log.info("sendMessage start.token:"+token+",msg:"+msg); String url = ...
  • 阿里云邮件推送使用方法

    万次阅读 2018-05-14 19:34:01
    登录阿里云,打开管理控制台通过邮件推送按钮进入邮件推送控制台(截图是已经配置好了再回头来截的图,新创建的发信域名状态是黄色的待验证)首先点击发信域名-新建域名创建发信域名之后点击配置(截图是已经配置好...
  • 【实例简介】里面包括ActiveMQ队列,直接启动即可【实例截图】【核心代码】package com.ggbd.active.controller;import javax.jms.JMSException;import javax.jms.Message;import javax.jms.MessageListener;...
  • 最近做项目的时候用到了阿里云的邮箱推送。首先站在我自己的理解的角度,为什么要用阿里云邮箱推送服务?  首先从万网说起。  中国万网是中国最大的互联网基础服务提供商之一,服务范围涵盖基础的域名服务、主机...
  • 读者福利 读到这的朋友还可以免费领取一份收集的Java进阶知识笔记和视频资料。 资料免费领取方式:关注后,点击这里即可免费领取 更多笔记分享 -ILAdd6tG-1623222478063)] 更多笔记分享 [外链图片转存中…(img-...
  • JavaMail 实现邮件推送功能(网易邮箱)

    千次阅读 2020-08-08 15:12:21
    开启POP3,填写对应的信息,复制获得的授权码 3.自己创建好Maven工程,导入JavaMail的...思考 利用邮件推送功能,我们可以直接封装成一个工具类,改造成登陆注册页面时候的验证码功能和用户邮件提示功能,以及其他的一些功能
  • import java.util.Properties; public class App { private static final String AUTH_PASSWORD = "xxxxxxxxxxxxxx"; private static final String MY_EMAIL = "xxxxx@qq.com"; private static final String EMAIL_...
  • 使用阿里云邮件推送服务群发邮件

    千次阅读 2020-05-27 09:55:38
    EDM(电子邮件营销)已经诞生了很多年,在国内随着很多IM工具的普及,曾经有人断言:邮件将在不久的将来消失,然而从目前来看并没有消失。实际上邮件在很多特定场景是有她的重要用途的。 在亚马孙上购物完成之后,...
  • NULL 博文链接:https://daidalei321.iteye.com/blog/824691
  • 短信服务以及邮件推送服务使用的都是阿里云的产品,短信服务是收费的,所以需要选择短信服务的套餐并预充值才能使用。邮件推送服务是有200条的免费额度。 一:短信服务 1、申请短信签名、短信模板 到阿里云的短信...
  • if (0 == errcode) { //批量发送推送消息时,可能存在部分用户发送消息成功,部分用户userid不合法的情况 if(!"".equals(jsonObject.getString("invaliduser"))){ logger.warn("发送企业微信消息成功,部分用户...
  • 引言: 在互联网高速发展的时代里,web应用大有取代桌面应用的趋势...收发邮件提醒,在线IM聊天,自动化办公提示等等,web系统里总是能见到消息推送的应用。消息推送用好了能增强用户体验,用不好则会起相反的效果。...
  • java邮件提醒实现

    2021-02-12 19:46:12
    【背景】最近做项目的时候,有这样一个需求,因为项目中的流程是分级流转审批的过程,所以当前人操作完成之后,需要程序的一个固定邮箱通过邮件通知下级相应人员进行处理,所以也就有了小编今天的这篇博文。【操作步骤】1...
  • 今天说说阿里云邮件推送配置

    千次阅读 2019-06-09 20:28:20
    打开左侧菜单找到邮件推送的菜单 这是邮件的主页面 新建发信域名 email.xxx.com 点击配置 配置域名 对应的填上就好了 然后到2的验证 就可以了 代码实现 - 添加maven <dependency> <groupId>...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,407
精华内容 8,962
关键字:

java邮件推送

java 订阅