ホームページにてメール問い合わせフォームを作成し、メール送信までをJavaMailを使用して
改行が適切に適用されたメールを送信したいのですがうまくいきません。
初心者ではありますが、ご教授頂けますでしょうか。
詳細は以下となります。
《課題》
メール入力フォームで件名、内容を入力後(あて先等はここでは省略)、確認ページを経て
メールを送信したい。内容欄で改行を含んだ文章を入力した場合、確認ページでは
<pre>タグを使って改行コードを有効にさせることで、適切に改行されて表示されているが、
実際にメールを送信し、受信したメールを確認すると、改行されず、しかも改行以下の文章は削除された状態になっている。(表示されているのは1行目だけ)
これを、改行され、改行以下の文章も表示させたい。
(メールフォームで入力された状態そのままの内容をメールで送りたい)
メール入力フォームで改行をした場合、改行コードもデータの中に含まれていると考えている。
SendMail.javaでrequest.getParameterにて送られたデータを取り出す時に
データ内に含まれた改行コードをreplaceAllにて"\r\n"に変換すれば適切に改行された状態のメールが送信できると考えたが、メール入力欄で入力された改行コードが何なのかが特定できない。
そもそもこの解決法でよいのかも疑問である。
これは別の課題だが、受信したメールの件名が文字化けしてしまっている。
(最初、内容も文字化けしていたが、 request.setCharacterEncoding("UTF-8");を
SendMail.javaに記述したことで解決した。)
《プログラムの流れ》
MailForm.html :メール入力フォーム。(nameを指定)入力後、入力内容確認ページにPOST送信
↓
ConfirmMail.jsp :入力内容確認ページ。<% request.getParameter("○○") %>で入力した内容を表示。○○にはnameをそれぞれ指定。
<form action="hidden"> にてメールフォームでデータを送信する時と同様にnameとvalueを指定し、その後SendMail.javaに送信。
↓
SendMail.java : JavaMailのサンプルコードを元に作成。ConfirmMail.jspより送られたデータを取り出し(String型の変数に格納)、コード内でメール件名、内容に配置、送信。
↓
CompleteMail.html : 「メールが送信されました」という送信完了メッセージを表示させる。メール送信後にリダイレクトで遷移させている。
以上、宜しくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/01/07 02:06