⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mailhelper.java

📁 Solaris平台上邮件的定时发送
💻 JAVA
字号:
package com.j2ee.mail;

import java.util.*; 
import java.io.*; 
import javax.mail.*; 
import javax.mail.internet.*; 
import javax.activation.*; 
import javabean.sinosure.util.Utility;

/**
* 创建并发送一封邮件
*/
public class MailHelper
{
	private boolean ifSuccess=true;

	private MimeMessage mimeMsg;  //MIME邮件对象
	private Session session;      //邮件会话对象
	private Properties props;     //系统属性
	private Multipart mp;         //Multipart对象,邮件内容,标题,附件等内容均添加到
		                          //其中后再生成MimeMessage对象

	public boolean getIfSuccess()
	{
		return ifSuccess;
	}

	public synchronized void createAndSendMail(EMailMessage eMess)
	{
		try
		{
			props = System.getProperties(); 			//获得系统属性对象
			//props.put("mail.smtp.host",EMailMessage.HOST);   //设置SMTP主机
			props.put("mail.smtp.host","1.1.1.1");   //设置SMTP主机
			//props.put("mail.smtp.host","mail.sinosure.com.cn");   //设置SMTP主机
			//
			if (eMess.getNeedAuth()==true)                  //设置smtp身份认证
			{
				props.put("mail.smtp.auth","true");
			}
			else
			{
				props.put("mail.smtp.auth","false");
			}
			//
			session = Session.getDefaultInstance(props,null);//获得邮件会话对象
			if (Debug.debuggingOn)
			{
                session.setDebug(true);
			}
			mimeMsg = new MimeMessage(session);              //创建MIME邮件对象
			mp = new MimeMultipart();
			//
			//设置邮件主题
			if (!eMess.getSubject().equals(""))
			{
				mimeMsg.setSubject(eMess.getSubject(),"UTF-8");
			}
			//设置邮件正文
			if (!eMess.getContents().equals(""))
			{
				BodyPart bp = new MimeBodyPart();
				bp.setContent("<meta http-equiv=Content-Type content=text/html;charset=UTF-8>"+eMess.getContents(),"text/html;charset=UTF-8");
			    mp.addBodyPart(bp);
			}
			//添加邮件附件
			if (!eMess.getFilePath().equals(""))
			{
				BodyPart bp = new MimeBodyPart();
				FileDataSource fileds = new FileDataSource(eMess.getFilePath());
				bp.setDataHandler(new DataHandler(fileds));
				bp.setFileName(fileds.getName());
				mp.addBodyPart(bp);
			}
			//设置发信人
			if (!eMess.getSender().equals(""))
			{
				mimeMsg.setFrom(new InternetAddress(eMess.getSender())); 
			}
			//设置收信人
			if (!eMess.getReceiver().equals(""))
			{
				mimeMsg.setRecipients(Message.RecipientType.TO,InternetAddress.parse(eMess.getReceiver()));
			}
			//设置抄送人
			if (!eMess.getCopyTo().equals(""))
			{
				mimeMsg.setRecipients(Message.RecipientType.CC,(Address[])InternetAddress.parse(eMess.getCopyTo()));
			}
			//
			//mimeMsg.setHeader("X-Mailer", "JavaMailer");
			//mimeMsg.setContent(mp);
            //mimeMsg.setSentDate(new Date());
			//Transport.send(mimeMsg);
			//回执
			mimeMsg.addHeader("Disposition-Notification-To:","");
			//
			mimeMsg.setContent(mp);
		    mimeMsg.saveChanges();
			Session mailSession = Session.getInstance(props,null);
			Transport transport = mailSession.getTransport("smtp");
			transport.connect((String)props.get("mail.smtp.host"),eMess.getUserName(),eMess.getPassword());
		    transport.send(mimeMsg);
            transport.close();

			ifSuccess=true;
		}
		catch (Exception e)
		{
			ifSuccess=false;
			Utility.logError(e.toString());
		}
	}
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -