Javaサーブレットでメールを送信したいと思い、こちら(http://www.utilz.jp/wiki/JavaMail1)のサイトで公開されているソースコードを利用してプログラムを作成したのですがエラーが発生してしまいました。
公開されているプログラムだけで実行した際には動いたので動作環境に問題は無いと思います。
public class send_Gmail extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException, MessagingException
{
send(
"*********", // gmail アカウント
"*********", // gmail パスワード
"*********", // 送信先
"subject", // サブジェクト
"body"); // 本文
// コンテンツタイプの設定
response.setContentType("text/html;charset=Windows-31J");
// 出力のためのPrintWriterオブジェクトを取得
PrintWriter out = response.getWriter();
// 一連のコンテンツを出力
out.println("<html><head>");
out.println("<title>スクリプトレット</title>");
out.println("</head><body>");
out.println("メールを送信しました<br />");
out.println("</body></html>");
}
private static final Properties PROP;
static {
PROP = new Properties();
PROP.put("mail.smtp.host", "smtp.gmail.com");
PROP.put("mail.smtp.port", "587");
PROP.put("mail.smtp.auth", "true");
PROP.put("mail.smtp.starttls.enable", "true");
}
public void send(
String user,
String password,
String to,
String subject,
String body) throws MessagingException {
Transport transport = null;
try {
Session sess = Session.getInstance(PROP);
MimeMessage mm = new MimeMessage(sess);
mm.setFrom(new InternetAddress(user));
mm.setSubject(subject);
mm.setRecipient(
Message.RecipientType.TO, new InternetAddress(to));
mm.setContent(body, "text/plain; charset=iso-2022-jp");
mm.setHeader("Content-Transfer-Encoding", "7bit");
transport = sess.getTransport("smtp");
transport.connect(user, password);
transport.sendMessage(mm, mm.getAllRecipients());
}
finally {
if (transport != null) {
transport.close();
}
}
}
コンパイルすると
send_Gmail.java:28: Gmail_test.send_Gmail のdoPost(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) は javax.servlet.http.HttpServlet の doPost(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) をオーバーライドできません。オーバーライドされたメソッドは javax.mail.MessagingException をスローしません。
protected void doPost(HttpServletRequest request, HttpServletResponse response)
というエラーが出てしまいます。throwsにMessagingExceptionを記述しないと、今度は記述しろというエラーが出てしまい困っています…解決策を教えて下さい。よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「タイプ初期化子が例外をスロ...
-
連続する「\\」をひとつの「\\...
-
file操作時のエラー
-
基本的にはないと言われました
-
Javaにて負の符号付整数を表現...
-
例外処理throws
-
VB.NETで16進数が正しいかどう...
-
String型の日付(2005/11/25)の...
-
nullで、return出来るのはどん...
-
【JAVA】与えられた金額を貨幣...
-
Excelでのエラー
-
例外処理の作法
-
サーブレットとJSPの連携
-
WebClient()以外でネットにアク...
-
VB.Net Object型 空かどうか
-
C# マルチスレッドにおける例外...
-
エクセルVBAで、条件に一致する...
-
UMLのクラス図はmain()も含むん...
-
Java初級 引数に適用できません
-
インスタンス参照でアクセスで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「タイプ初期化子が例外をスロ...
-
VB.NETで16進数が正しいかどう...
-
VB.Net Object型 空かどうか
-
Timestamp型への変換について(J...
-
C#の捕捉されない例外処理の対...
-
時間の取得
-
VBA Evaluate関数 型が一致しま...
-
C# UriFormatExceptionの回避
-
連続する「\\」をひとつの「\\...
-
文字列からダブルクオートの削除
-
String型の日付(2005/11/25)の...
-
タトゥーや墨を入れる人の共通点
-
VBA 400エラー 1004エラー
-
nullで、return出来るのはどん...
-
VC++におけるCStringの変換
-
例外ってIf文の中に入れますか...
-
【JAVA】与えられた金額を貨幣...
-
全角スペースのチェックについて
-
ファイルダイアログを開いた時...
-
WebClient()以外でネットにアク...
おすすめ情報