- PR -

Strutsでjava mail

1
投稿者投稿内容
miushinozaki
会議室デビュー日: 2005/12/27
投稿数: 8
お住まい・勤務地: 千葉
投稿日時: 2005-12-27 16:44
初めての投稿です。
Strutsでメールを送信するプログラムを作っているのですが、
画面の遷移は上手くいくのですが、メールが送信されていません。
struts-configに記述しなければならないことがあるのでしょうか?
メール送信のプログラムは以下の通りなのですが…
アドレス部分はちゃんと記述しています。

package action;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import java.util.Properties;
import java.util.Date;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.MessagingException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.AddressException;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;

public class MailSend extends Action{
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
Properties properties=new Properties();
properties.setProperty("mail.smtp.host", "SMTPホストアドレス");
Session session=Session.getDefaultInstance(properties);

MimeMessage mimeMessage = new MimeMessage(session);


try{
// 宛先の設定 mimeMessage.setRecipients(MimeMessage.RecipientType.TO, ("自分のメールアドレス"));
// 送信元の設定 mimeMessage.setFrom(new InternetAddress("送り先アドレス"));
// サブジェクトの設定 mimeMessage.setSubject("本の返却要請","iso-2022-jp");
// 本文の設定 mimeMessage.setText("〜を〜さんが借りたがっているので、早急に返却してください。","iso-2022-jp");
// 設定の保存
mimeMessage.saveChanges();
// メールの送信 Transport.send(mimeMessage);
}catch(MessagingException e){
e.printStackTrace(System.out);
}
String target = "mail";
return mapping.findForward(target);
}
}

どんなヒントでも構いませんので、答えられ方がいれば返答お願いします。
ハツキタツミ
大ベテラン
会議室デビュー日: 2005/05/24
投稿数: 108
投稿日時: 2005-12-27 17:18
まず、ここ
http://www.hyuki.com/writing/techask.html

で、肝心のエラーログは?
miushinozaki
会議室デビュー日: 2005/12/27
投稿数: 8
お住まい・勤務地: 千葉
投稿日時: 2005-12-27 17:42
返答ありがとうございます。
画面遷移が上手くいっているので、特にエラーは表示されず、
メールが送れてないだけなんです。
このプログラム自体は問題ないのでしょうか?
miushinozaki
会議室デビュー日: 2005/12/27
投稿数: 8
お住まい・勤務地: 千葉
投稿日時: 2005-12-27 18:08
すいません。
メール送れました。
自己解決しました。

ただ、本文が文字化けしてしまいました。
iso-2022ではダメなのですか?
Edosson
ぬし
会議室デビュー日: 2004/04/30
投稿数: 675
投稿日時: 2005-12-27 18:51
iso-2022-jpを指定するのなら、あらかじめ変換する必要があります。
コード:
String encodedtext = MimeUtility.encodeText("ほげほげ", "iso-2022-jp", "B");

miushinozaki
会議室デビュー日: 2005/12/27
投稿数: 8
お住まい・勤務地: 千葉
投稿日時: 2005-12-27 22:12
ありがとうございます。
上手くいきました。
1

スキルアップ/キャリアアップ(JOB@IT)