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

📄 mailsend.java

📁 使用Java编写的一个邮件代理程序
💻 JAVA
字号:
package SendMail;

import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
/**
 * @author Administrator
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class MailSend {
	private static String UserName;
	private static String PassWord;
	private static MimeMessage mimeMsg; 
	private static Session session; 
	private static Properties props; 
	private static Multipart mp; 
	
	public MailSend() {
	
	}
	
	public static void setSmtpHost(String hostName) {
		System.out.println(System.currentTimeMillis()+"设置系统属性:mail.smtp.host = "+hostName);
		if(props == null) props = System.getProperties(); 
		props.put("mail.smtp.host",hostName); 
	}
	/**
	* @return boolean
	*/
	public static boolean createMimeMessage() {
		try {
			System.out.println(System.currentTimeMillis()+"准备获取邮件会话对象!");
			session = Session.getDefaultInstance(props,null); 
		} catch(Exception e){
			System.err.println(System.currentTimeMillis()+"获取邮件会话对象时发生错误!"+e);
			return false;
		}
		System.out.println(System.currentTimeMillis()+"准备创建MIME邮件对象!");
		try{
			mimeMsg = new MimeMessage(session); 
			mp = new MimeMultipart();
			return true;
		} catch(Exception e){
			System.err.println(System.currentTimeMillis()+"创建MIME邮件对象失败!"+e);
			return false;
		}
	}
	/**
	* @param need boolean
	*/
	public static void setNeedAuth(boolean need) {
		System.out.println(System.currentTimeMillis()+"设置smtp身份认证:mail.smtp.auth = "+need);
		if( props == null ) props = System.getProperties();
		if ( need ) {
			props.put("mail.smtp.auth","true");
		} else {
			props.put("mail.smtp.auth","false");
		}
	}
	/**
	* @param name String
	* @param pass String
	*/
	public static void setNamePass(String name,String pass) {
		UserName = name;
		PassWord = pass;
	}
	/**
	* @param mailSubject String
	* @return boolean
	*/
	public static boolean setSubject(String mailSubject) {
		System.out.println(System.currentTimeMillis()+"设置邮件主题!");
		try{
			mimeMsg.setSubject(mailSubject);
			return true;
		} catch(Exception e) {
			System.err.println(System.currentTimeMillis()+"设置邮件主题发生错误!");
			return false;
		}
	}
	/**
	* @param mailBody String
	*/
	public static boolean setBody(String mailBody) {
		try{
			BodyPart bp = new MimeBodyPart();
			bp.setContent("<meta http-equiv=Content-Type content=text/html; charset=gb2312>"+mailBody,"text/html;charset=GB2312");
			mp.addBodyPart(bp);
			return true;
		} catch(Exception e){
			System.err.println(System.currentTimeMillis()+"设置邮件正文时发生错误!"+e);
			return false;
		}
	}
	/**
	* @param name String
	* @param pass String
	*/
	public static boolean addFileAffix(String filename) {
		System.out.println(System.currentTimeMillis()+"增加邮件附件:"+filename);
		try{
			BodyPart bp = new MimeBodyPart();
			FileDataSource fileds = new FileDataSource(filename);
			bp.setDataHandler(new DataHandler(fileds));
			bp.setFileName(fileds.getName());
			mp.addBodyPart(bp);
			return true;
		} catch(Exception e){
			System.err.println(System.currentTimeMillis()+"增加邮件附件:"+filename+"发生错误!"+e);
			return false;
		}
	}
	/**
	* @param name String
	* @param pass String
	*/
	public static boolean setFrom(String from) {
		System.out.println(System.currentTimeMillis()+"设置发信人!");
		try{
			mimeMsg.setFrom(new InternetAddress(from)); //设置发信人
			return true;
		} catch(Exception e) {
			return false; 
		}
	}
	/**
	* @param name String
	* @param pass String
	*/
	public static boolean setTo(String to){
		if(to == null)return false;
		try {
			mimeMsg.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to));
			return true;
		} catch(Exception e){
			return false;
		}
	}
	/**
	* @param name String
	* @param pass String
	*/
	/*public static boolean setCopyTo(String copyto) {
		if(copyto == null)return false;
		try{
			mimeMsg.setRecipients(Message.RecipientType.CC,(Address[])InternetAddress.parse(copyto));
			return true;
		} catch(Exception e) {
			return false;
		}
	}*/
	public static boolean sendout() {
		try{
		mimeMsg.setContent(mp);
		mimeMsg.saveChanges();
		System.out.println(System.currentTimeMillis()+"正在发送邮件....");
		Session mailSession = Session.getInstance(props,null);
		Transport transport = mailSession.getTransport("smtp");
		transport.connect((String)props.get("mail.smtp.host"),UserName,PassWord);
		//transport.sendMessage(mimeMsg,mimeMsg.getAllRecipients());
		transport.sendMessage(mimeMsg,mimeMsg.getRecipients(Message.RecipientType.TO));
		//transport.send(mimeMsg);
		System.out.println(System.currentTimeMillis()+"发送邮件成功!");
		transport.close();
		return true;
		} catch(Exception e) {
		System.err.println(System.currentTimeMillis()+"邮件发送失败!"+e);
		return false;
		}
	}
	
}
	

⌨️ 快捷键说明

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