package yaoyao.classes;
import javax.mail.*;
public class MailAuthenticator extends Authenticator{
private String name=null;//用户名
private String password=null;//用户密码
public MailAuthenticator(){}
public MailAuthenticator(String name, String password){
this.name=name;
this.password=password;
}
public void setName(String name){
this.name=name;
}
public void setPassword(String password){
this.password=password;
}
public PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication(name, password);
}
}
------------------------------------------------------------
package yaoyao.classes;
import java.io.*;
import javax.activation.*;
public class StringDataSource implements javax.activation.DataSource{
private String data;
private String type;
public StringDataSource(String data, String type){
this.data=data;
this.type=type;
}
public InputStream getInputStream()throws IOException {
if(data==null){
throw new IOException("Data is null");
}
return new ByteArrayInputStream(data.getBytes());
//return new StringBufferInputStream(new String(data.getBytes("iso-8859-1"), "GB2312"));
}
public OutputStream getOutputStream() throws IOException{
throw new IOException("Data is readonly");
}
public String getContentType(){
return type;
}
public String getName(){
return "StringDataSource";
}
}
----------------------------------------------------------
package yaoyao.classes;
import java.util.*;
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
import yaoyao.classes.*;
public class ReMail{
String smtpHost="smtp.sohu.com";
String mailFrom="gelikeji@sohu.com";
String mailUser="gelikeji";
String mailPassword="44348214";
String mailTo=null;
String mailSubject=null;
String mailContent=null;
public void setMailTo(String mailTo){
this.mailTo=mailTo;
}
public void setMailSubject(String mailSubject){
this.mailSubject=mailSubject;
}
public void setMailContent(String mailContent){
this.mailContent=mailContent;
}
public String getMailTo(){
return mailTo;
}
public String getMailSubject(){
return mailSubject;
}
public String getMailContent(){
return mailContent;
}
public void send(){
try{
Properties props = System.getProperties();
props.put("mail.smtp.host", smtpHost);
props.put("mail.smtp.auth", "true");
Authenticator auth = new MailAuthenticator(mailUser, mailPassword);
Session mailSession = Session.getDefaultInstance(props, auth);
Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress(mailFrom));
msg.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(getMailTo()));
msg.setSubject(getMailSubject());
msg.setDataHandler(new DataHandler(
new StringDataSource(getMailContent(), "text/html")));
Transport.send(msg);
}catch(Exception e){}
}
}
博客展示了Java中邮件发送相关类的代码实现。包含MailAuthenticator类用于邮件认证,StringDataSource类处理字符串数据源,ReMail类实现邮件发送功能,涉及用户名、密码、邮件主题、内容等设置,以及邮件会话和消息的创建与发送。
2770

被折叠的 条评论
为什么被折叠?



