javascriptによるお問い合わせフォームのエラー

このQ&Aのポイント
  • javascriptにてお問い合わせフォームを作っていて、最後の送信ボタンを押すと送信されるはずが、エラーとなってしまいます。
  • エラー内容は「javax.mail.internet.AddressException: Missing '<' in string ``"" <>'' at position 31」です。
  • 質問者はエラーの原因がわからず、ご教授をお願いしています。
回答を見る
  • ベストアンサー

javascriptにてお問い合わせフォームを作っ

javascriptにてお問い合わせフォームを作っていて、 最後の送信ボタンを押すと送信されるはずが、エラーとなってしまいます。 素人で何もわかりません。 すいませんが、ご教授ください。 エラー内容 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 担当者への送信に失敗しました。 エラー内容:javax.mail.internet.AddressException: Missing '<' in string ``"" <>'' at position 31 本文内容 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub //受け取るデータの文字コードをUTF-8にセットする request.setCharacterEncoding("UTF-8"); //パラメーター”title”の値を取り出し、変数titleに代入 String title = request.getParameter("title"); //パラメーター”message”の値を取り出し、変数messageに代入 String message = request.getParameter("message"); //出力先のコンテントタイプをセットする response.setContentType("text/html; charset=UTF-8"); //出力先を取り出し、変数outに代入する PrintWriter out = response.getWriter(); //メールの送信 try { //プロバティの作成 Properties property = new Properties(); //SMTPサーバーのセット property.put("mail.smtp.host","<サーバー名>"); //メールセッションを確率 Session session = Session.getDefaultInstance(property,null); //送信メッセージを生成 MimeMessage mimeMessage =new MimeMessage(session); //Toアドレスのセット InternetAddress toAddress = new InternetAddress("メールアドレス>","<名前>");mimeMessage.setRecipient(Message.RecipientType.TO,toAddress);//Fromアドレスのセット InternetAddress fromAddress = new InternetAddress("メールアドレス>","<名前>");mimeMessage.setFrom(fromAddress); //タイトル(件名)のセット mimeMessage.setSubject(title,"ISO-2022-JP"); //本文のセット mimeMessage.setText(message,"ISO-2022-JP"); //メールの送信 Transport.send(mimeMessage); //送信OK out.println("<html><body>"); out.println("■お問い合わせ内容を担当者へ送信しました。"); out.println("</body></html>"); } catch (Exception e) { //送信エラー out.println("<html><body>"); out.println("担当者への送信に失敗しました。"); out.println("<br>エラー内容:"+e); out.println("</body></html>"); } //出力する out.close(); } }

質問者が選んだベストアンサー

  • ベストアンサー
  • bakaok
  • ベストアンサー率22% (33/148)
回答No.1

そのソースどう見てもJavaScriptではなくてJavaのソースに見えるんだけど?

goalget
質問者

補足

すいません。 javaでした。

関連するQ&A

  • JavaサーブレットでのGmail送信プログラム

    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を記述しないと、今度は記述しろというエラーが出てしまい困っています…解決策を教えて下さい。よろしくお願いします。

    • ベストアンサー
    • Java
  • コンパイルエラー

    JBuiderでコンパイルしようとするとエラーがでてしまいます。ソースは以下の通りです。 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class TestServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session = request.getSession(); Integer count=(Integer)session.getAttribute("count"); if(count == null){  count = new Integer(0); }else{  count = new Integer(count.intValue()+1); } session.setAttribute("count",count); response.setContentType("text/html; charset=Shift_JIS"); PrintWriter out= response.getWriter(); out.println("<html>"); out.println("<head><title>TestServlet</title></head>"); out.println("<body>"); out.println(session.getId()); out.println("<p>\"count\"という名前のattribute = " + count +"</p>"); out.println("</body></html>"); out.close(); } } これをコンパイルすると、 "TestServlet.java": エラー #: 300 : メソッド getAttribute(java.lang.String) が見つかりません: インターフェース javax.servlet.http.HttpSession 行 9, 列 36 "TestServlet.java": エラー #: 300 : メソッド setAttribute(java.lang.String, java.lang.Integer) が見つかりません: インターフェース javax.servlet.http.HttpSession 行 15, 列 13 というメッセージがでます。何が原因なのか教えてください。

  • プロキシ経由でjavamailを使ってyahooにメール送信

    社内から社外へのネットワーク通信(インターネット)にはプロキシをかませています。 この環境下で、社内で、Javamailを使い、yahooへメール送信を行いたいと思っております。 ソースは以下です。 ---------------------------------------------------------------- //初期設定 Properties props = new Properties(); //接続するSMTP props.put("mail.smtp.host","smtp.mail.yahoo.co.jp"); //SMTP before POP3対応 props.put("mail.smtp.auth", "true"); //ポートの設定 props.put("mail.smtp.port", String.valueOf("25")); Session sess = Session.getInstance(props); MimeMessage mimeMessage = new MimeMessage(sess); //送信元メールアドレスと送信者名を指定 mimeMessage.setFrom(new InternetAddress("xxx@xxx.co.jp","name","iso-2022-jp")); //送信先メールアドレス指定 mimeMessage.setRecipients(Message.RecipientType.TO, "xxx@yahoo.co.jp"); //SUBJECT mimeMessage.setSubject("メールテスト","iso-2022-jp"); //SEND DATE mimeMessage.setSentDate(new Date()); //CONTENTS mimeMessage.setText("日本語OK?\n改行\n","iso-2022-jp"); Transport transport = sess.getTransport("smtp"); //認証用ユーザ名とパスワードを設定しコネクト transport.connect(null,"user name","password"); //メール送信 transport.sendMessage(mimeMessage, mimeMessage.getAllRecipients()); transport.close(); ---------------------------------------------------------------- 実行すると、Unknown SMTP host: smtp.yahoo.co.jp というエラーが出ます。 社外への通信は一度プロキシサーバを経由しているのが原因ではないかと思うのですが、どうしたらいいか分かりません。 どなたかご教授願います。

    • ベストアンサー
    • Java
  • アラートボックスが表示されません。

    はじめまして。 初めて質問させていただきます。 JavaServletでテキストボックスとボタンを置き、submitすると下に何個でも追記できるプログラムを作りました。 そこに送信時、テキストボックスが空の場合「空です」のアラートボックスが表示され、送信が中断される機能を追加しようと思っています。 下記のようにコーディングした場合、テキストボックス内の状態に関わらず、アラートボックスが表示されません。色々試したところ、入力の有無に関わらず、ボタンを押すたびにアラートボックスが表示されたり、今回のように全く表示されなかったりします。 ちなみに下記がコーディング内容です。 大変お手数かけますが、解決方法をご教示いただけると幸いです。 ※WebアプリケーションサーバはTomcatを用いて、アドレスは http://localhost:8080/study/servlet/alerttest としています。 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.*; /** * 送信時にテキストボックスが空の場合"空です"のアラートボックスが * 示され、送信を中断させるようにする。 */ public class alerttest extends HttpServlet { // doGetメソッドをオーバーライド public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // ボディ部を出力するためのオブジェクト生成 PrintWriter out = response.getWriter(); // リクエストパラメータの文字エンコーディング名をセット response.setContentType("text/html; charset=Shift_JIS"); out.println("<html>"); out.println("<head>"); out.println("<title>alerttest</title>"); out.println("<script type='text/javascript'>"); out.println("<!--"); out.println("function startAlert()"); out.println("{"); out.println("var naiyou = document.getElementsByName('moziretsu');"); out.println("if(naiyou == '')"); out.println("{"); out.println("alert('空です');"); out.println("}"); out.println("}"); out.println("// --></script>"); out.println("</head>"); out.println("<body>"); out.println("<FORM action='/study/servlet/alerttest' method='GET'>"); out.println("<INPUT type='text' name='moziretsu'>"); out.println("<INPUT type='submit' value='クエリ送信' onclick='startAlert()'><BR>"); // 入力パラメータの取得 String moziretsuPrm = request.getParameter("moziretsu"); Object moziretsuObj = moziretsuPrm; // セッションオブジェクトの取りだし HttpSession session = request.getSession(); // セッションにオブジェクトの追加 if(moziretsuPrm != null) { session.setAttribute(moziretsuPrm,moziretsuObj); } // セッション属性の一覧を出力 Enumeration names = session.getAttributeNames(); while(names.hasMoreElements()) { String key = (String)names.nextElement(); out.println(key + "<br>"); } out.println("</body>"); out.println("</html>"); } }

  • 問い合わせフォームからPHPを使って、、、、、

    問い合わせフォームからPHPを使って指定のアドレスにメールを送ろうとしているのですが、届きません、、、、、、 原因が分かりません。助けていただけないでしょうか。 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>お問い合わせページ</title> <link rel="stylesheet" href="styles.css"> </head> <body> <h1>お問い合わせページ</h1> <form action="send_email.php" method="post"> <label for="name">お名前:</label> <input type="text" id="name" name="name" required><br><br> <label for="email">メールアドレス:</label> <input type="email" id="email" name="email" required><br><br> <label for="message">お問い合わせ内容:</label><br> <textarea id="message" name="message" rows="4" cols="50" required></textarea><br><br> <input type="submit" value="送信"> </form> </body> </html> \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 以下がPHPのプログラムです。 <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $name = $_POST["name"]; $email = $_POST["email"]; $message = $_POST["message"]; // 送信先のメールアドレス $to = "***@gmail.com"; // 件名 $subject = "お問い合わせがありました"; // 本文 $body = "お名前: $name\n"; $body .= "メールアドレス: $email\n\n"; $body .= "お問い合わせ内容:\n$message"; // メールを送信 mail($to, $subject, $body); // 送信後のリダイレクト header("Location: thank_you.html"); exit; } ?>

    • 締切済み
    • PHP
  • OCNとGmailの送信サーバー???

    従来わたしはOCNの有料メールを使用しています そのOCNメールサーバーを使いC#の送信プログラムを作って利用しています 概略は以下の通りです // SMTPサーバーを指定する SmtpClient client = new SmtpClient("smtp.vccube.ocn.ne.jp"); ・・・(1) //送信元、あて先、件名、本文を設定する string fromAddress = "MyOCNaddress@cube.ocn.ne.jp"; ・・・・・・(2) string toAddress = "MyAddress@MyCompany.com"; string subject = "題名"; string body = "内容"; //送信する client.Send(fromAddress, toAddress, subject, body); 今回Gmailの無料メールアドレスを取得し上記のプログラムを修正致しました (1)をGmailの送信サーバー SmtpClient client = new SmtpClient("smtp.gmail.com"); (2)を私が取得したGmailのメールアドレス string fromAddress = "MyGmailAddress@gmail.com"; として実行すると『送信できませんでした』とのダイアログが表示されます GmailはOCNの送信サーバーの代わりになってくれないのでしょうか? なおC#が表示したエラーは以下の通りです System.Net.Mail.SmtpException' の初回例外が System.dll で発生しました。 プログラム '[4596] net397.vshost.exe: マネージ (v2.0.50727)' はコード 0 (0x0) で終了しました。

  • セッションオブジェクトにリンクするプログラムです。

    どこが間違ってますか? コンパイルできないんです。。。 セッションオブジェクトを使って カウンタを作り、リンクからカウンタの値を 変更できるようにしているつもりです。 SessionCount.java <前略> HttpSession session = req.getSession(); Integer count; count = (Integer)session.getAttribute("count"); if (count == null){ count = new Integer(1); }else{ count = new Integer(count.intValue() + 1); } session.setAttribute("count", count); out.println("<html>"); out.println("<head><title>Session Test</title></head>"); out.println("<body>"); out.println("Count = " + count.intValue());//確認用 out.println("<A HREF = "URL/SessionCount" onClick = "count=count+1">続行</A>"); out.println("<A HREF = "URL/SessionCount" onClick ="count=0">リセット</A>"); <後略>

    • ベストアンサー
    • Java
  • 添付ファイルが送れない

    いつもお世話になっています。 Eclipse(Juno) を使って、Android のメールアプリを作っています。 PCの OS は Windows7 64bit です。 いろいろ、教えていただいて、メールの受信、添付されているファイルの取り出しはできました。 今回は、添付ファイル付のメールの送信です。 ネットにあったソースコードを使って、画像データ "mdata05.bin" を添付ファイルにして メール送信を試しています。 DDMS でみると、files のところに、"mdata05.bin" は存在します。 次のコードで送信すると、 private void sendmail() { try{ String to = "宛先"; String from = " Gメールアドレス"; String filename = "mdata05.bmp"; Properties property = new Properties(); //GmailのSMTPを使う場合 property.put("mail.smtp.auth", "true"); property.put("mail.smtp.starttls.enable", "true"); property.put("mail.smtp.host", "smtp.gmail.com"); property.put("mail.smtp.port", "587"); Session session = Session.getInstance(property, new javax.mail.Authenticator(){ protected PasswordAuthentication getPasswordAuthentication(){ return new PasswordAuthentication("Gメールアドレス", "パスワード"); } }); MimeMessage msg = new MimeMessage(session); msg.setFrom(new InternetAddress(from)); InternetAddress[] address = InternetAddress.parse(to); msg.setRecipients(Message.RecipientType.TO, address); msg.setSubject("JavaMail APIs Test", "ISO-2022-JP"); msg.setSentDate(new Date()); /* 添付ファイルの処理 */ MimeBodyPart mbp1 = new MimeBodyPart(); mbp1.setText("msgTextテスト", "ISO-2022-JP"); MimeBodyPart mbp2 = new MimeBodyPart(); FileDataSource fds = new FileDataSource("mdata05.bmp");//filename); mbp2.setDataHandler(new DataHandler(fds)); mbp2.setFileName(MimeUtility.encodeWord(fds.getName())); Multipart mp = new MimeMultipart(); mp.addBodyPart(mbp1); mp.addBodyPart(mbp2); msg.setContent(mp); Transport.send(msg); }catch(MessagingException mex){ System.out.println("¥n--Exception handling in msgsendsample.java"); mex.printStackTrace(); }catch(java.io.UnsupportedEncodingException uex){ } MessagingException mex のエラーの内容としては、 IOException while sending message" とあって、詳しく見ると "/mdata05.bmp: open failed: ENOENT (No such file or directory)" となっています。 添付ファイルが送れない原因は何でしょうか? なお、添付ファイルの部分を削除すれば、本文だけのメールは送信できます。 ご指導、よろしくお願いします。

  • StringデータをZIP圧縮してメール添付したい

    以下のロジックで、CSVファイルを送っています。 ファイルサイズが大きくなったので、StringのデータをZIP圧縮して添付したいです。 どのように、ロジックを書けば良いかお教えください。 お願いします。 「java初心者です。」 @SuppressWarnings("serial") public class BackTest_MailServlet extends HttpServlet { @SuppressWarnings("unchecked") public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { MailSendTo(meigara1,intYMDFrom ,strSimulationkekka,intJobID); } public void MailSendTo(String meigara1,int intYMDFrom ,String strSimulationkekka,int intJobID) throws IOException{ Properties props = new Properties(); Session session = Session.getDefaultInstance(props, null); try{ MimeMessage msg = new MimeMessage(session); msg.setFrom(new InternetAddress("abcxyz000aa@gmail.com")); msg.addRecipient(Message.RecipientType.TO, new InternetAddress("abcxyz000aa@gmail.com")); int intAttacheSize = strSimulationkekka.length(); String strAttacheFile = strSimulationkekka; String strFileName = meigara1 + "_" + intYMDFrom +"_" + intJobID; msg.setSubject("AA:"+meigara1 +" Size:" + intAttacheSize +" JobID:" + intJobID + " YMD:" + intYMDFrom,"ISO-2022-JP"); // // 本文ボディー部分. // MimeBodyPart body = new MimeBodyPart(); body.setText("メール本文","text/plain"); // メール本文 Multipart mp = new MimeMultipart(); mp.addBodyPart(body); MimeBodyPart attache = new MimeBodyPart(); // //StringのstrAttacheFileをZIPで圧縮して送りたい // attache.setText(strAttacheFile);//添付ファイルの中身 attache.setFileName(strFileName + ".csv"); // 添付ファイル名 mp.addBodyPart(attache);// 添付 msg.setContent(mp); Transport.send(msg); // resp.getWriter().write("OK!!: メール送信完了<br />"); }catch(AddressException e){ // resp.getWriter().write("メールアドレスエラー" + e + "<br />"); }catch(MessagingException e){ // resp.getWriter().write("メッセージングエラー" + e + "<br />"); } } }

    • ベストアンサー
    • Java
  • JavaMail smtp.mail.yahoo.co.jp

    お世話になります。 JavaMail1.4を用いて、 自作プログラム内でメール送信を行おうとしているのですが、 エラーが返ってきてしまいます。 以下エラー内容です。 DEBUG SMTP: useEhlo true, useAuth true DEBUG SMTP: trying to connect to host "smtp.mail.yahoo.co.jp", port 25, isSSL false javax.mail.MessagingException: Could not connect to SMTP host: smtp.mail.yahoo.co.jp, port: 25; nested exception is: java.net.ConnectException: Connection timed out: connect at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1227) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:322) at javax.mail.Service.connect(Service.java:258) at javax.mail.Service.connect(Service.java:137) at javax.mail.Service.connect(Service.java:86) at javax.mail.Transport.send0(Transport.java:150) at javax.mail.Transport.send(Transport.java:80) at partsPackage.MailTransfer.send(MailTransfer.java:135) at partsPackage.Tester.main(Tester.java:14) 設定が悪いのか、 サーバーの指定等が悪いのか検討が付かない状況です。 ソースは final String username = "○○○○"; final String password = "○○○○"; final String from_name = "○○○○"; final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory"; Session session = null; MimeMessage mimeMessage = null; String charset = "UTF8"; String sendTo = null; String title = null; String contents = null; public MailTransfer(){} public MailTransfer(String charset){this.charset=charset;} boolean isConnected(){return session!=null;} public boolean hasMessage(){return mimeMessage!=null;} public boolean hasDestination(){return sendTo!=null;} public boolean hasTitle(){return title!=null;} public boolean hasText(){return contents!=null;} void connect(){ Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); Properties props = System.getProperties(); props.setProperty("mail.smtp.host", "smtp.mail.yahoo.co.jp"); props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY); props.setProperty("mail.smtp.socketFactory.fallback", "false"); props.setProperty("mail.smtp.port", "25"); props.setProperty("mail.smtp.socketFactory.port", "25"); props.put("mail.smtp.auth", "true"); props.put("mail.debug", "true"); session = Session.getInstance(props, new Authenticator(){ protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } }); } public void create_mail(){ System.out.println("送信メール作成"); if(!isConnected())connect(); if(hasMessage())return; mimeMessage=new MimeMessage(session); try { // 送信元メールアドレスと送信者名を指定 mimeMessage.setFrom(new InternetAddress(username+"@yahoo.co.jp",from_name,charset)); // メールの形式を指定 mimeMessage.setHeader("Content-Type","text/html"); } catch (Exception e) { e.printStackTrace(); } System.out.println("送信メール作成完了"); } よろしくお願い致します。

専門家に質問してみよう