/*从session中获得Store对象,getStore方法参数代表邮件协议 * connect方法的参数分别是邮件服务器地址,用户名和该邮箱的密码 * */ Store store = session.getStore("pop3"); store.connect(pop3,user,password);
/*以session作为参数建立MimeMessage对象 *在这里mime指mutltipurpose internet mail extension协议 *mimeMessage是指支持该协议的类,用来描述邮件的内容 */ MimeMessage msg = new MimeMessage(session); msg.setFrom(new InternetAddress(from)); msg.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); msg.setSubject("love this,Send mail 测试"); String s = " Test text 测试"; msg.setText(s);
package javamail;import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Properties;import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Store;
public class MailReader
{
public static void main(String[] args) throws Exception
{
String pop3 = "pop3.163.com";
//邮箱地址
String user = "[email protected]";
//口令
String password = "123456";
Properties props = new Properties();
//创建Session对象
Session session = Session.getDefaultInstance(props,null);
/*从session中获得Store对象,getStore方法参数代表邮件协议
* connect方法的参数分别是邮件服务器地址,用户名和该邮箱的密码
*
*/
Store store = session.getStore("pop3");
store.connect(pop3,user,password);
/*从Store得到收件箱INBOX的文件夹,并将其打开
* 如只读方法打开
*/
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
Message[] msg =folder.getMessages();
for(int i=0;i<msg.length;i++)
{
System.out.println("From: "+ msg[i].getFrom()[0]);
System.out.println("Subject: "+msg[i].getSubject()); String s;
BufferedReader in =new BufferedReader(new InputStreamReader(msg[i].getInputStream())); System.out.println("---Mail Text---");
while((s = in.readLine())!= null)
{
System.out.println(s);
}
in.close();
System.out.println(); }
//关闭收件箱和Store对象
folder.close(false);
store.close();
}
}
package javamail;import java.util.Properties;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;public class MailSender {
public static void main(String[] args) throws Exception {
//这是邮件服务器地址
String smtp = "smtp.163.com";
//用户邮箱地址
String from = "[email protected]";
String to = "[email protected]";
//构造用户身份验证类对象,参数为用户名和口令
EmailAuthenticator auth = new EmailAuthenticator("yin2004", "123456");
//获取系统属性对象
Properties props = System.getProperties();
props.put("mail.smtp.host", smtp);
props.put("mail.smtp.auth", "true");
//获得session对象
Session session = Session.getInstance(props, (Authenticator) auth);
/*以session作为参数建立MimeMessage对象
*在这里mime指mutltipurpose internet mail extension协议
*mimeMessage是指支持该协议的类,用来描述邮件的内容
*/
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
msg.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
msg.setSubject("love this,Send mail 测试");
String s = " Test text 测试"; msg.setText(s);
/*设置好mimeMessage后,从session中建立transport对象
* Tranport对象用于发送邮件信息,getTransport参数
* 表明发送邮件使用的协议
*/
Transport transport = session.getTransport("smtp");
transport.connect(smtp, "[email protected]", "123456");
transport.sendMessage(msg, msg.getAllRecipients());
transport.close();
System.out.print("ok");
}
}//邮件用户的身份验证类,这是内部类
class EmailAuthenticator extends Authenticator {
private String m_username; private String m_userpass; EmailAuthenticator(String username, String userpass) {
super();
m_username = username;
m_userpass = userpass;
} public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(m_username, m_userpass);
}
}