Web プロジェクトを例に挙げると、コードを移植できます。
まず、mail.jar パッケージをインポートし、独自のクラスを作成します。
1:HTMLSenderクラス
次のようにコードをコピーします。
パッケージcom.txq.mail;
java.util.Propertiesをインポートします。
javax.mail.Message をインポートします。
インポート javax.mail.MessagingException;
インポート javax.mail.NoSuchProviderException;
javax.mail.Session をインポートします。
javax.mail.Transportをインポートします。
インポート javax.mail.internet.AddressException;
インポート javax.mail.internet.InternetAddress;
インポート javax.mail.internet.MimeMessage;
インポート javax.mail.internet.MimeMultipart;
インポート javax.mail.internet.MimeUtility;
/**
*
* @author 管理者
*
*/
パブリック クラス HTMLSender {
プライベート MimeMessage メッセージ。
プライベート プロパティの小道具。
プライベートセッションセッション。
プライベート文字列名 = "";
プライベート文字列パスワード = "";
public HTMLSender(文字列ホスト,文字列名,文字列パスワード)
{
this.name = 名前;
this.password = パスワード;
props = System.getProperties();
props.put("mail.smtp.host", ホスト);
props.put("mail.smtp.auth","true");
MyAuthenticator auth = 新しい MyAuthenticator(名前,パスワード);
セッション = Session.getDefaultInstance(props,auth);
メッセージ = 新しい MimeMessage(セッション);
new MimeMultipart();
}
public void setFrom(String from)
{
試す
{
message.setFrom(新しいインターネットアドレス(from));
}
catch (AddressException e)
{
e.printStackTrace();
}
catch (MessagingException e)
{
e.printStackTrace();
}
}
public void setTo(文字列)
{
試す
{
message.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to));
}
catch(AddressException e)
{
e.printStackTrace();
}
catch(MessagingException e)
{
e.printStackTrace();
}
}
public void setSubject(String subject)
{
試す
{
message.setSubject(件名);
}
catch(例外 e)
{
e.printStackTrace();
}
}
public void setContect(String content)
{
試す
{
message.setContent(content,"text/html;charset=utf-8");
}
catch(例外 e)
{
e.printStackTrace();
}
}
パブリックブール値送信()
{
試す
{
トランスポート Transport = session.getTransport("smtp");
Transport.connect((String)props.get("mail.smtp.host"),name,password);
Transport.sendMessage(メッセージ, message.getRecipients(Message.RecipientType.TO));
Transport.close();
true を返します。
}
catch(NoSuchProviderException e)
{
e.printStackTrace();
false を返します。
}
catch(MessagingException e)
{
e.printStackTrace();
false を返します。
}
}
}
2: MyAuthenticator クラス
次のようにコードをコピーします。
パッケージcom.txq.mail;
javax.mail.Authenticatorをインポートします。
インポート javax.mail.PasswordAuthentication;
パブリック クラス MyAuthenticator extends Authenticator{
文字列名。
文字列パスワード。
public MyAuthenticator(文字列名,文字列パスワード)
{
this.name = 名前;
this.password = パスワード;
getPasswordAuthentication();
}
protected PasswordAuthentication getPasswordAuthentication()
{
新しいPasswordAuthentication(名前,パスワード)を返します;
}
}
3: MailActionクラス
次のようにコードをコピーします。
パッケージcom.txq.action;
java.io.PrintWriterをインポートします。
com.opensymphony.xwork2.ActionSupport をインポートします。
com.txq.mail.HTMLSender をインポートします。
public class MailAction extends ActionSupport {
プライベート文字列電子メール。
public String sendEmail(){
//エージェントホスト-Sina
文字列ホスト = "smtp.sina.cn";
//Account-Sina アカウント
文字列名 = "followmusic";
//パスワード-シナのパスワード
文字列パスワード = "followmusic";
//メールオブジェクトを作成する
HTMLSender メール = 新しい HTMLSender(ホスト,名前,パスワード);
//送信アカウント
mail.setFrom("[email protected]");
//メールアカウント
mail.setTo("[email protected]");
//メールの件名
mail.setSubject("タオの関心");
//メールの内容
mail.setContect("友達が興味のあるものを探しに来るように誘っています~");
if(mail.send())
{
成功を返します。
}
それ以外
{
「エラー」を返します。
}
}
public String getEmail() {
メールを返信する。
}
public void setEmail(String email) {
this.email = メール;
}
}