JavaMail操作的总结(1)
在整理网友的文章的时候,发现一个javamail的总结,特此谢谢the_east_key,并且公布给大家,希望对大家有做帮助,全文如下:
本文章对:
发送普通邮件,接受普通邮件
发送带有附件的邮件,接收带有附件的邮件
发送html形式的邮件,接受html形式的邮件
[b[发送带有图片的邮件[/b]等做了一个总结。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.borland.jbcl.layout.*;
import javax.mail.*;
import java.util.*;
import javax.mail.internet.*;
import java.io.*;
import javax.activation.*;
public String host="smtp.163.com";
public String username="abcdefg";
public String password="abcdefg";
public String mail_head_name="this is head of this mail";
public String mail_head_value="this is head of this mail";
public String mail_to="xyz@163.com";
public String mail_from="abcdefg@163.com";
public String mail_subject="this is the subject of this test mail";
public String mail_body="this is the mail_body of this test mail";
//此段代码用来发送普通电子邮件
void jButton1_actionPerformed(ActionEvent e) {
try
{
Properties props = new Properties();//获取系统环境
Authenticator auth = new Email_Autherticator();//进行邮件服务器用户认证
props.put("mail.smtp.host",host);
props.put("mail.smtp.auth","true");
Session session = Session.getDefaultInstance(props,auth);
//设置session,和邮件服务器进行通讯。
MimeMessage message = new MimeMessage(session);
message.setContent("Hello","text/plain");//设置邮件格式
message.setSubject(mail_subject);//设置邮件主题
message.setText(mail_body);//设置邮件正文
message.setHeader(mail_head_name,mail_head_value);//设置邮件标题
message.setSentDate(new Date());//设置邮件发送日期
Address address = new InternetAddress(mail_from,"sunxiaoming");
message.setFrom(address); //设置邮件发送者的地址
//如果要对邮件发送者进行多个参数的设置,可以用以下语句
// Address address[] = {new
InternetAddress("sunxm@oaklet.co.jp","sunxmatoaklet"),new
InternetAddress("firstsxm@hotmail.com","sunxmathotmail")};
// message.addFrom(address);
Address toAddress = new InternetAddress(mail_to);//设置邮件接收方的地址
message.addRecipient(Message.RecipientType.TO,toAddress);
// Address ccAddress = new InternetAddress("firstsxm@hotmail.com");//设置邮件抄送者的地址
// message.addRecipient(Message.RecipientType.CC,ccAddress);
Transport.send(message);//发送邮件
/* // to get a specific instance from the session for your protocol.pass along the username and password
// (blank if unnecessary).send the message,and close the connection;
message.saveChanges();
Transport transport = session.getTransport("smtp");
transport.connect(host,username,password);
transport.sendMessage(message,message.getAllRecipients());
transport.close();
*/
System.out.println("send ok!");
}
catch(Exception ex)
{
System.out.println("faild"+ex);
}
}