質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

Q&A

解決済

1回答

7050閲覧

メール入力フォームからJavaMailにて改行を適用したままメールを送信したい

shar0430

総合スコア11

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

0グッド

0クリップ

投稿2015/01/06 10:27

ホームページにてメール問い合わせフォームを作成し、メール送信までを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 : 「メールが送信されました」という送信完了メッセージを表示させる。メール送信後にリダイレクトで遷移させている。 以上、宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Hiddenタグに改行を含む文字列を設定しているせいではないでしょうか。
実際に送信するメール本文と確認用のメール本文は別にしたほうが良いかも。
送信用はセッションに保存しておくとか。

もしくは、不可視のtextareaを使う方法も考えられます。

どちらも確認してませんが、お試しください。

投稿2015/01/06 13:36

argius

総合スコア9388

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shar0430

2015/01/07 02:06

hiddenタグでデータを格納する際にvalueの値を""で括ることで無事解決致しました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問