邮件工具类--EmailUtil
- /* Copyright Notice ===================================================*
- * This file contains proprietary information of Trust-Mart Inc which is
- * owned by Trust-mart, Inc.
- * Copying or reproduction without prior written approval is prohibited.
- * Copyright (c) 2004 =================================================*/
- /* File: EmailUtil.java<p>
- * Usage: send email
- * Created: 2004-03
- */
- package com.jk.util;
- import java.text.DecimalFormat;
- import java.util.*;
- import javax.mail.*;
- import javax.mail.internet.*;
- public class EmailUtil {
- /* ======================================== *
- * Constants
- * ======================================== */
- private static final Properties sy_prop = new Properties();
- // default key/value
- static {
- sy_prop.put("mail.transport.protocol", "smtp");
- sy_prop.put("mail.debug", "true"); // debug info.
- sy_prop.put("mail.smtp.auth", "true"); // 如果server 需要验证
- }
- /* ======================================== *
- * Class Methods
- * ======================================== */
- /** Sends plain/text email.
- *
- * @param session javax.mail.Session object, might got from jboss jndi.
- * @param recipients {to, cc1, cc2, ...}
- * @param subject
- * @param content
- * @throw IllegalArgumentException
- * @throw MessagingException
- */
- public static void sendMail(Session session, String[] recipients,
- String subject, String content) throws
- MessagingException {
- if (session == null || recipients == null || recipients.length == 0) {
- throw new IllegalArgumentException();
- }
- // Message msg = new MimeMessage(session);
- MimeMessage msg=new MimeMessage(session);
- // msg.setFrom(new InternetAddress(SupplierMail.from));
- msg.setRecipient(Message.RecipientType.TO, new InternetAddress(recipients[0]));
- for (int i = 1; i < recipients.length; i++) {
- msg.setRecipient(Message.RecipientType.CC,
- new InternetAddress(recipients[i]));
- }
- msg.setSubject(subject,"ISO8859_1");
- msg.setText(content,"ISO8859_1");
- msg.setSentDate(new java.util.Date());
- Transport.send(msg);
- }
- /** Sends plain/text email.
- *
- * @param session javax.mail.Session object, might got from jboss jndi.
- * @param recipients {to, cc1, cc2, ...}
- * @param subject
- * @param content
- * @throw IllegalArgumentException
- * @throw MessagingException
- */
- public static void sendMail(Session session, String from, List recipients,
- String subject, String content) throws
- MessagingException {
- if (session == null || recipients == null || recipients.size() == 0) {
- throw new IllegalArgumentException();
- }
- // Message msg = new MimeMessage(session);
- MimeMessage msg=new MimeMessage(session);
- msg.setFrom(new InternetAddress(from));
- msg.setRecipient(Message.RecipientType.TO, new InternetAddress((String)recipients.get(0)));
- for (int i = 1; i < recipients.size(); i++) {
- if(recipients.get(i)!=null)
- msg.setRecipient(Message.RecipientType.CC,
- new InternetAddress((String)recipients.get(i)));
- }
- msg.setSubject(subject,"GBK");
- msg.setText(content,"GBK");
- msg.setSentDate(new java.util.Date());
- Transport.send(msg);
- }
- /** User provides info. to
- *
- * get the Session object to send mail. Uses
- * WebApp.getMailSession() instead, if you use jboss.
- *
- * @param prop
- * @param user
- * @param password
- * @return
- * @see javax.mail.Session#getDefaultInstance()
- */
- public static Session getSession(Properties prop, String user,
- String password) {
- if (prop == null || user == null || password == null || "".equals(user)) {
- throw new IllegalArgumentException();
- }
- //1. copy
- Properties prop0 = new Properties(sy_prop);
- for (Enumeration enum1 = prop.keys(); enum1.hasMoreElements(); ) {
- String key = (String) enum1.nextElement();
- String val = (String) prop.getProperty(key);
- prop0.setProperty(key, val);
- }
- prop0.put("mail.user", user);
- prop0.put("mail.from", user);
- //2. get
- final String s1 = new String(user), s2 = new String(password);
- Authenticator auth = new Authenticator() {
- protected PasswordAuthentication getPasswordAuthentication() {
- return new PasswordAuthentication(s1, s2);
- }
- };
- Session session = Session.getInstance(prop0, auth);
- return session;
- }
- /* ======================================== *
- * Testing Methods
- * ======================================== */
- public static void main(String[] args) throws Exception {
- Properties prop = new Properties();
- prop.put("mail.smtp.host", "10.77.78.10");
- //Session session = Session.getDefaultInstance(prop);
- Session session = Session.getInstance(prop,null);
- String from = "admin@admin.com";
- List recipients = new ArrayList();
- recipients.add("admin@admin.com");
- String subject = "EmailUtil testing--测试";
- String content = "13:40:23,437 INFO [STDOUT] User_Name:admin Login_Name:admin IP_Address:127.0.0.1";
- sendMail(session, from, recipients, subject, content);
- System.out.println("OK");
- int a=00;
- String aa=new DecimalFormat("00").format(a);
- System.out.println(new DecimalFormat("00").format(a));
- }
- }
邮件工具类--EmailUtil的更多相关文章
- 01_JavaMail_05_创建邮件工具类MailUtils等方便发送邮件
[工程截图] [代码实现] [Mail.java] package com.Higgin.Utils; import java.util.ArrayList; import java.util.Lis ...
- java邮件工具类【最终版】
http://www.xdemo.org/java-mail/ 对比链接中,添加了抄送和暗抄送功能(已解决,如图代码:抄送不能多个用户,会报错,未解之谜) sendHtmlmail方法可以发送附件以及 ...
- java发送邮件完整实例 java邮件工具类
http://yuncode.net/code/c_552a2e2dc593894 package com.srie.mail; import java.util.Properties; import ...
- Java Utils工具类大全(转)
源码和jar见:https://github.com/evil0ps/utils #Java Utils --- 封装了一些常用Java操作方法,便于重复开发利用. 另外希望身为Java牛牛的你们一起 ...
- Java Utils工具类大全
源码和jar见:https://github.com/evil0ps/utils #Java Utils --- 封装了一些常用Java操作方法,便于重复开发利用. 另外希望身为Java牛牛的你们一起 ...
- java中使用javaMail工具类发送邮件
1.引入依赖 <!--javaMail--> <dependency> <groupId>javax.mail</groupId> <artifa ...
- 邮件发送工具类 SendMail.java
package com.util; import org.apache.commons.mail.EmailException; import org.apache.commons.mail.Simp ...
- java 邮件发送工具类
首先需要下载mail.jar文件,我个人通常是使用maven中心库的那个: <dependency> <groupId>javax.mail</groupId> & ...
- 基于JavaMail开发邮件发送器工具类
基于JavaMail开发邮件发送器工具类 在开发当中肯定会碰到利用Java调用邮件服务器的服务发送邮件的情况,比如账号激活.找回密码等功能.本人之前也碰到多次这样需求,为此特意将功能封装成一个简单易用 ...
随机推荐
- Python相关工具清单[持续更新]
SublimeJEDI : awesome Python autocompletion with SublimeText. Awesome Python : A curated list of awe ...
- leetcode@ [316] Remove Duplicate Letters (Stack & Greedy)
https://leetcode.com/problems/remove-duplicate-letters/ Given a string which contains only lowercase ...
- linux内核地址mapping
linux内核采用页式存储管理,虚拟地址空间划分成固定大小的页面,由MMU(memory manager unit)在运行时将virtual address mapping to (或者说是变化成)某 ...
- homework08
1.局部变量生命周期 #include "iostream.h" ;} int main() { ; add1(n); cout << n << endl; ...
- Could not bind factory to JNDI
将hibernate.cfg.xml中 <session-factory name="SessionFactory">的name属性去掉即可
- Java集合框架之LinkedList-----用LinkedList模拟队列和堆栈
LinkedList的特有方法: (一)添加方法 addFisrt(E e):将指定元素插入此列表的开头.//参数e可以理解成Object对象,因为列表可以接收任何类型的对象,所以e就是Object对 ...
- HDU 4882 ZCC Loves Codefires (贪心)
ZCC Loves Codefires 题目链接: http://acm.hust.edu.cn/vjudge/contest/121349#problem/B Description Though ...
- Linux下常用的shell命令记录
硬件篇 CPU相关 lscpu #查看的是cpu的统计信息. cat /proc/cpuinfo #查看CPU信息详细信息,如每个CPU的型号,主频等 内存相关 free -m #概要查看内存情况 ...
- 修改eclipse默认编码方式
设置js文件的默认编码格式为UTF-8 在Windows->Preference页面中,选择General->Content Types ...
- PsLookupProcessByProcessId分析
本文是在讨论枚举进程的时候产生的,枚举进程有很多方法,Ring3就是ZwQuerySystemInformation(),传入SysProcessesAndThreadsInformation这个宏, ...