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

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

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

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

解決済

メールの送信プログラムでエラーが発生します

kuroneko96
kuroneko96

総合スコア0

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

3回答

0評価

0クリップ

10069閲覧

投稿2018/04/23 13:21

前提・実現したいこと

ショッピングカートの作成で、
メールの送信プログラムで以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

クロネコ 様 ご注文ありがとうございました。 aietou@ne.jp にメールを送りましたのでご確認ください。 商品は以下の住所に発送させていただきます。 356-5896 クロネコ県クロネコ市9-6 08096969696 Warning: mb_send_mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\xampp\htdocs\shop\shop_form_done.php on line 136 Warning: mb_send_mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\xampp\htdocs\shop\shop_form_done.php on line 143

該当のソースコード

PHP

<?php session_start(); session_regenerate_id(true); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>PHP基礎</title> </head> <body> <?php try { require_once('../common/common.php'); $post=sanitize($_POST); $onamae=$_POST['onamae']; $email=$_POST['email']; $postal1=$_POST['postal1']; $postal2=$_POST['postal2']; $address=$_POST['address']; $tel=$post['tel']; print $onamae.' 様 <br/>'; print ' ご注文ありがとうございました。 <br/>'; print $email.' にメールを送りましたのでご確認ください。 <br/>'; print '商品は以下の住所に発送させていただきます。 <br/>'; print $postal1.'-'.$postal2.' <br/>'; print $address.' <br/>'; print $tel.' <br/>'; $honbun=''; $honbun.=$onamae." 様 \n\n このたびはご注文ありがとうございました。 \n"; $honbun.="\n"; $honbun.="ご注文商品 \n"; $honbun.="---------------\n"; $cart= $_SESSION['cart']; $kazu= $_SESSION['kazu']; $max=count($cart); $dsn = 'mysql:dbname=shop;host=localhost'; $user = 'root'; $password =''; $dbh = new PDO($dsn, $user, $password); $dbh->query('SET NAMES utf8'); for($i=0; $i<$max; $i++) { $sql = 'SELECT name,price FROM mst_product WHERE code=?'; $stmt = $dbh->prepare($sql); $data[0]=$cart[$i]; $stmt->execute($data); $rec = $stmt->fetch(PDO::FETCH_ASSOC); $name = $rec['name']; $price = $rec['price']; $kakaku[]=$price; $suryo = $kazu[$i]; $shokei = $price * $suryo; $honbun.=$name.' '; $honbun.=$price.'円 x '; $honbun.=$suryo.'個 = '; $honbun.=$shokei." 円 \n"; } $sql = 'LOCK TABLES dat_sales WRITE, dat_sales_product WRETE'; $stmt = $dbh->prepare($sql); $stmt->execute(); $sql = 'INSERT INTO dat_sales (code_member,name,email,postal1,postal2,address,tel) VALUES (?,?,?,?,?,?,?)'; $stmt = $dbh->prepare($sql); $data = array(); $data[]=0; $data[]=$onamae; $data[]=$email; $data[]=$postal1; $data[]=$postal2; $data[]=$address; $data[]=$tel; $stmt->execute($data); $sql = 'SELECT LAST_INSERT_ID()'; $stmt = $dbh->prepare($sql); $stmt->execute(); $rec = $stmt->fetch(PDO::FETCH_ASSOC); $lastcode=$rec['LAST_INSERT_ID()']; for($i=0 ; $i<$max ; $i++) { $sql = 'INSERT INTO dat_sales_product (code_sales,code_product,price,quantity) VALUES (?,?,?,?)'; $stmt = $dbh->prepare($sql); $data = array(); $data[]=$lastcode; $data[]=$cart[$i]; $data[]=$kakaku[$i]; $data[]=$kazu[$i]; $stmt->execute($data); } $sql = 'UNLOCK TABLES'; $stmt = $dbh->prepare($sql); $stmt->execute(); $dbh = null; $honbun.=" 送料は無料です。\n"; $honbun.="----------------\n"; $honbun.="\n"; $honbun.="代金は以下の口座にお振込みください。 \n"; $honbun.="ろくまる銀行 やさい支店 普通口座 1234567\n"; $honbun.=" 入金確認が取れ次第、梱包、発送させていただきます。\n"; $honbun.="\n"; $honbun.="□□□□□□□□□□□□□□□\n"; $honbun.=" ~安心野菜のろくまる農園~\n"; $honbun.="\n"; $honbun.="〇〇県六丸群六丸村 123-4\n"; $honbun.=" 電話 090 6060 xxxx\n"; $honbun.=" メール info@rokumarunouen.co.jp\n"; $honbun.=" □□□□□□□□□□□□□□\n"; //print '<br/>'; //print nl2br($honbun); $title = 'ご注文ありがとうございます。 '; $header = 'From: info@rokumarunouen.co.jp'; $honbun = html_entity_decode($honbun, ENT_QUOTES, 'UTF-8'); mb_language('Japanese'); mb_internal_encoding('UTF-8'); mb_send_mail($email, $title, $honbun, $header); $title = 'お客様からご注文がありました。 '; $header = 'From: '.$email; $honbun = html_entity_decode($honbun, ENT_QUOTES, 'UTF-8'); mb_language('Japanese'); mb_internal_encoding('UTF-8'); mb_send_mail('info@rokumarunouen.co.jp', $title, $honbun, $header); } catch (Exception $e) { print ' ただいま障害により大変ご迷惑をお掛けしております。 '; exit(); } ?> <br/> <a href="shop_list.php"> 商品画面へ </a> </body> </html>

試したこと

翻訳してどういう意味かを確認

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

前提・実現したいこと

エラーメッセージが出ないようにしたいです。

翻訳して意味を調べてみましたが、
いまいちよくわかりません。
これはどういったことでエラーが発生しているのでしょうか?
よろしくお願い致します。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。