不知道javaMail能不能从完整的字节流中解析出邮件的完整内容,最近需要研究一下javaMail,先写了一个小小的发送邮件的例子。
环境:MyEclipse8.6
源代码如下:
import java.util.Date;
import java.util.Properties;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
public class SendMailBean {
private static String content="This is my content!";
private static String address="348721246@qq.com";
public void sendEmail(String content,String address)
{
String host = "smtp.163.com";
String fromUser = "ericbbcc@163.com";
Properties props = System.getProperties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.port", 25);
props.put("mail.smtp.auth", "true");
MyAuthenticator authenticator = null;
authenticator = new MyAuthenticator(fromUser, "*******");
Session session = Session.getDefaultInstance(props,authenticator);
MimeMessage message = new MimeMessage(session);
try{
message.setFrom(new InternetAddress(fromUser));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(address));
message.setSubject("JavaEmail Test");
message.setText(content);
System.out.println("Begin Send email ok!\n");
Transport.send(message);
System.out.println(i+" Send email ok!\n");
//html 以html格式发送邮件
message.setSentDate(new Date());
Multipart mainPart = new MimeMultipart();
BodyPart html = new MimeBodyPart();
html.setContent("this is html content!", "text/html; charset=utf-8");
mainPart.addBodyPart(html);
message.setContent(mainPart);
Transport.send(message);
}catch (AddressException e) {
System.out.println("AddressException\n"+e.toString()+"\n");
}catch (MessagingException e2) {
System.out.println("MessagingException\n"+e2.toString()+"\n");
}
}
public static void main(String args[]){
SendMailBean sendMail = new SendMailBean();
System.out.println("start\n");
sendMail.sendEmail(sendMail.content, sendMail.address);
System.out.println("end\n");
}
}