本例子是使用javamail发送电子右键的简单例子,其中需要注意的地方有:
1、关于smtp服务器,也就是MailSender.
现在基本全部的smtp服务器都需要认证,所以,
我在测试的时候用的是"花生壳"的服务,
2、测试时候host用的是smtp.sina.com.cn,
3、用到的类库:javamail v1_4_1中的mail.jar
//本类完成主要的业务
package org.mingyuan.mail;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class MailSender {
private String host="smtp.sina.com.cn";
private String userName;
private String password;
private String receiver;
private String content;
private String subject;
/**
*
* @param n
* userName
* @param p
* password
* @param r
* receiver
* @param c
* content
* @param sbj
* subject
*/
public MailSender(String n, String p, String r, String c, String sbj) {
userName = n;
password = p;
receiver = r;
content = c;
subject = sbj;
}
public boolean send(){
try{
Properties props = System.getProperties();
// Setup mail server
props.put("mail.smtp.host", host);
// Get session
Session session = Session.getDefaultInstance(props, null);
session.setDebug(true);
// Define message
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress("mingyuanonline@gmail.com"));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(
receiver));
message.setSubject(subject);
message.setText(content);
message.saveChanges();
Transport transport = session.getTransport("smtp");
transport.connect(host, userName, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
}catch(MessagingException e){
return false;
}
return true;
}
public void test() {
System.out.println("userName:" + userName + " password:" + password
+ " receiver:" + receiver + " subject:" + subject + " content"
+ content);
}
}