使用java向邮箱发送邮件

java

 这是我很早之前写的一个工具类,最近在整理自己所学的东西,无意中找到了,就拿出来与大家分享,代码如下:

import java.io.ByteArrayOutputStream;   

import java.io.FileInputStream;

import java.io.IOException;

import java.util.Arrays;

import java.util.Date;

import java.util.Properties;

import javax.activation.DataHandler;

import javax.activation.FileDataSource;

import javax.mail.Authenticator;

import javax.mail.Message;

import javax.mail.PasswordAuthentication;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

import javax.mail.BodyPart;

import javax.mail.Multipart;

import javax.mail.internet.MimeBodyPart;

import javax.mail.internet.MimeMultipart;

import org.apache.struts.util.MessageResources;

import com.qq.connect.javabeans.tenpay.Address;

//import com.sun.istack.internal.ByteArrayDataSource;

public class SendMails {

public int sendMail(String emailTitle, String content, String emailTo,MessageResources message) throws Exception {

System.out.println(smtpServer1);

Properties props = new Properties();

props.put("mail.smtp.auth", "true");

props.put( "mail.transport.protocol", "smpt");

props.put("mail.smtp.host", smtpServer1);

// 获得邮件会话对象

Session session = Session.getInstance(props,new SmtpAuthenticator1(fromMailAddress1, password1));

/** *************************************************** */

// 创建MIME邮件对象

MimeMessage mimeMessage = new MimeMessage(session);

mimeMessage.setFrom(new InternetAddress(fromMailAddress1));// 发件人

mimeMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(emailTo));// 收件人

mimeMessage.setSubject(emailTitle);

mimeMessage.setSentDate(new Date());// 发送日期

Multipart mp = new MimeMultipart("related");// related意味着可以发送html格式的邮件

/** *************************************************** */

BodyPart bodyPart = new MimeBodyPart();// 正文

StringBuffer content = new StringBuffer();

bodyPart.setDataHandler(new DataHandler(content.toString(),"text/html;charset=GBK"));// 网页格式

/** *************************************************** */

// BodyPart attachBodyPart = new MimeBodyPart();// 普通附件

// FileDataSource fds = new FileDataSource("c:/boot.ini");

// attachBodyPart.setDataHandler(new DataHandler(fds));

// attachBodyPart.setFileName("=?GBK?B?"+ new sun.misc.BASE64Encoder().encode(fds.getName().getBytes()) + "?=");// 解决附件名中文乱码

// mp.addBodyPart(attachBodyPart);

/** *************************************************** */

// MimeBodyPart imgBodyPart = new MimeBodyPart(); // 附件图标

// byte[] bytes = readFile("E:/webcms/webcms/WebContent/images/bjx.jpg");

// ByteArrayDataSource fileds = new ByteArrayDataSource(bytes,"application/octet-stream");

// imgBodyPart.setDataHandler(new DataHandler(fileds));

// imgBodyPart.setFileName("button.gif");

// imgBodyPart.setHeader("Content-ID", "<IMG1></IMG1>");// 在html中使用该图片方法src="cid:IMG1"

// mp.addBodyPart(imgBodyPart);

/** *************************************************** */

mp.addBodyPart(bodyPart);

mimeMessage.setContent(mp);//设置邮件内容对象

try {

Transport.send(mimeMessage);//发送邮件

// Transport transport=session.getTransport();

// transport.send(mimeMessage);

} catch (Exception e) {

// e.printStackTrace();

if(e.getMessage().contains("550 User not found")){

return 2;

}else{

return 3;

}

}

//system.out.println("SendEmail OK!!");

return 0;

}

public void setUsername1(String username1) {

this.username1 = username1;

}

public void setPassword1(String password1) {

this.password1 = password1;

}

public void setSmtpServer1(String smtpServer1) {

this.smtpServer1 = smtpServer1;

}

public void setFromMailAddress1(String fromMailAddress1) {

this.fromMailAddress1 = fromMailAddress1;

}

public static byte[] readFile(String file) {

FileInputStream fis = null;

ByteArrayOutputStream bos = null;

try {

fis = new FileInputStream(file);

bos = new ByteArrayOutputStream();

int bytesRead;

byte buffer[] = new byte[1024 * 1024];

while ((bytesRead = fis.read(buffer)) != -1) {

bos.write(buffer, 0, bytesRead);

Arrays.fill(buffer, (byte) 0);

}

} catch (IOException e1) {

e1.printStackTrace();

} finally {

try {

if (bos != null)

bos.close();

} catch (IOException e) {

e.printStackTrace();

}

}

return bos.toByteArray();

}

}

/**

* Smtp认证

*/

class SmtpAuthenticator1 extends Authenticator {

String username = null;

String password = null;

// SMTP身份验证

public SmtpAuthenticator1(String username, String password) {

this.username = username;

this.password = password;

System.out.println(username+"::::::"+password);

}

public PasswordAuthentication getPasswordAuthentication() {

return new PasswordAuthentication(this.username, this.password);

}

}

以上是 使用java向邮箱发送邮件 的全部内容, 来源链接: utcz.com/z/392160.html

回到顶部