🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

PHP

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

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

Q&A

解決済

1回答

2451閲覧

PHPMailerを使ってのメールの受信のコードエラーについて

ghtew2

総合スコア245

POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

PHP

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

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

0グッド

0クリップ

投稿2021/02/24 08:23

編集2021/02/24 12:19

実現したいこと

入力フォームを作っているのですが、情報入力→確認画面の表示→送信という流れで、あと送信の部分だけなのですが、PHPMailerを使って、Gmailでのメールの送受信のコードを書いているのですが、記事のサイトを参考にしてコードを書いたのですが、付属写真のようなエラーが出て困っています。

エラー名 syntax err,Unexpected 'use'(T_USE)

参考サイトhttps://web.hazu.jp/php-mailer/ 
からコードをコピペして少しメールや送信する情報等を改変したので、スペル間違いなど、ないと思うのですが、原因は何でしょうか。回答よろしくお願いいたします。

初めてなので、PHPMailerもきちんとダウンロードや設定等も出来ているかどうかも怪しいです。

イメージ説明

PHP

1<?php 2 3session_start(); 4 5if(isset($_POST['token'], $_SESSION['token']) && ($_POST['token'] === $_SESSION['token'])){ 6 unset($_SESSION['token']); 7 8 9 10// 入力内容の取得・変数に格納 11$name = $_POST['name']; 12$furigana = $_POST['furigana']; 13$email = $_POST['email']; 14$tel = $_POST['tel']; 15$lineid = $_POST['lineid']; 16 17 18$time4 =$_POST['time4']; 19$timehh1 =$_POST['timehh1']; 20$time5 =$_POST['time5']; 21$timehh2 =$_POST['timehh2']; 22$time6 =$_POST['time6']; 23$timehh3 =$_POST['timehh3']; 24 25$age =$_POST['age']; 26$work =$_POST['work']; 27$nunsyuu =$_POST['nunsyuu']; 28$mokuhyuu =$_POST['mokuhyuu']; 29$badmoney =$_POST['badmoney']; 30$workkeikenn =$_POST['workkeikenn']; 31$question =$_POST['question']; 32 33// メール日本語対応 34mb_language("japanese"); 35mb_internal_encoding("UTF-8"); 36 37// PHPMailer クラスをネーム空間にインポート 38 39use PHPMailer\PHPMailer\PHPMailer; 40use PHPMailer\PHPMailer\SMTP; 41use PHPMailer\PHPMailer\Exception; 42 43// Composer の autoloader をロード 44require 'vendor/autoload.php'; 45 46// インスタンス生成 47$mail = new PHPMailer(true); 48 49try { 50 // SMTPの設定 51 $mail->isSMTP(); // SMTP 利用 52 $mail->Host = 'smtp.gmail.com'; // SMTP サーバー(Gmail の場合これ) 53 $mail->SMTPAuth = true; // SMTP認証を有効にする 54 $mail->Username = 'x 〇〇〇〇@gmail.com'; // ユーザ名 (Gmail ならメールアドレス) 55 $mail->Password = '△△△△'; // パスワード 56 $mail->SMTPSecure = 'tls'; // 暗号化通信 (Gmail では使えます) 57 $mail->Port = 587; // TCP ポート (TLS の場合 587) 58 59 // メール本体 60 $mail->setFrom('〇〇〇〇@gmail.com', 'hazuki'); // 送信元メールアドレスと名前 61 $mail->addAddress($email, mb_encode_mimeheader($name, 'ISO-2022-JP')); // 送信先メールアドレスと名前 62 // 件名 63 64 $mail->Body = mb_convert_encoding($name, "JIS","UTF-8"); // 本文 65 $mail->Body = mb_convert_encoding($furigana, "JIS","UTF-8"); // 本文 66 $mail->Body = mb_convert_encoding($email, "JIS","UTF-8"); // 本文 67 $mail->Body = mb_convert_encoding($tel, "JIS","UTF-8"); // 本文 68 $mail->Body = mb_convert_encoding($lineid, "JIS","UTF-8"); // 本文 69 $mail->Body = mb_convert_encoding($time4, "JIS","UTF-8"); // 本文 70 $mail->Body = mb_convert_encoding($timehh1, "JIS","UTF-8"); // 本文 71 $mail->Body = mb_convert_encoding($time5, "JIS","UTF-8"); // 本文 72 $mail->Body = mb_convert_encoding($timehh2, "JIS","UTF-8"); // 本文 73 $mail->Body = mb_convert_encoding($time6, "JIS","UTF-8"); // 本文 74 $mail->Body = mb_convert_encoding($timehh3, "JIS","UTF-8"); // 本文 75 $mail->Body = mb_convert_encoding($age, "JIS","UTF-8"); // 本文 76 $mail->Body = mb_convert_encoding($work, "JIS","UTF-8"); // 本文 77 $mail->Body = mb_convert_encoding($nunsyuu, "JIS","UTF-8"); // 本文 78 $mail->Body = mb_convert_encoding($mokuhyuu, "JIS","UTF-8"); // 本文 79 $mail->Body = mb_convert_encoding($badmoney, "JIS","UTF-8"); // 本文 80 $mail->Body = mb_convert_encoding($workkeikenn, "JIS","UTF-8"); // 本文 81 $mail->Body = mb_convert_encoding($question, "JIS","UTF-8"); // 本文 82 83// 送信 84 $mail->send(); 85 echo '送信済み'; 86} catch (Exception $e) { 87 echo "送信失敗: {$mail->ErrorInfo}"; 88} 89?> 90 91 92<!DOCTYPE html> 93 94 95 <html> 96<head> 97 98 <meta charset ="utf-8"> 99 <title>完了画面-お問い合わせ </title> 100 101 </head> 102<body> 103 <p>お問い合わせありがとうございます。 104 </p> 105</body> 106 </html>

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2021/02/24 08:31

回答で無くて申し訳ないのですが、 メールアドレスとかパスワードは伏せていただくのが良いかと思います。 ご自身のものでなくても、偶然他人様が使ってる可能性もありますし。 トラブル回避のため編集して頂けますでしょうか。 ご協力のほどよろしくお願い致します。
m.ts10806

2021/02/24 08:39

編集しても履歴から確認できるので質問削除依頼して再度立て直したほうが良いでしょうね
ghtew2

2021/02/24 12:21

すみません。直しておきました。
guest

回答1

0

ベストアンサー

diff

1<?php 2 3+ // PHPMailer クラスをネーム空間にインポート 4 5+ use PHPMailer\PHPMailer\PHPMailer; 6+ use PHPMailer\PHPMailer\SMTP; 7+ use PHPMailer\PHPMailer\Exception; 8 9+ // Composer の autoloader をロード 10+ require 'vendor/autoload.php'; 11 12session_start(); 13 14if(isset($_POST['token'], $_SESSION['token']) && ($_POST['token'] === $_SESSION['token'])){ 15 unset($_SESSION['token']); 16 17 18 19// 入力内容の取得・変数に格納 20$name = $_POST['name']; 21$furigana = $_POST['furigana']; 22$email = $_POST['email']; 23$tel = $_POST['tel']; 24$lineid = $_POST['lineid']; 25 26 27$time4 =$_POST['time4']; 28$timehh1 =$_POST['timehh1']; 29$time5 =$_POST['time5']; 30$timehh2 =$_POST['timehh2']; 31$time6 =$_POST['time6']; 32$timehh3 =$_POST['timehh3']; 33 34$age =$_POST['age']; 35$work =$_POST['work']; 36$nunsyuu =$_POST['nunsyuu']; 37$mokuhyuu =$_POST['mokuhyuu']; 38$badmoney =$_POST['badmoney']; 39$workkeikenn =$_POST['workkeikenn']; 40$question =$_POST['question']; 41 42// メール日本語対応 43mb_language("japanese"); 44mb_internal_encoding("UTF-8"); 45 46- // PHPMailer クラスをネーム空間にインポート 47 48- use PHPMailer\PHPMailer\PHPMailer; 49- use PHPMailer\PHPMailer\SMTP; 50- use PHPMailer\PHPMailer\Exception; 51 52- // Composer の autoloader をロード 53- require 'vendor/autoload.php'; 54 55// インスタンス生成 56$mail = new PHPMailer(true); 57 58try { 59 // SMTPの設定 60 $mail->isSMTP(); // SMTP 利用 61 $mail->Host = 'smtp.gmail.com'; // SMTP サーバー(Gmail の場合これ) 62 $mail->SMTPAuth = true; // SMTP認証を有効にする 63 $mail->Username = 'ha431@gmail.com'; // ユーザ名 (Gmail ならメールアドレス) 64 $mail->Password = '89898989a'; // パスワード 65 $mail->SMTPSecure = 'tls'; // 暗号化通信 (Gmail では使えます) 66 $mail->Port = 587; // TCP ポート (TLS の場合 587) 67 68 // メール本体 69 $mail->setFrom('ha431@gmail.com', 'hazuki'); // 送信元メールアドレスと名前 70 $mail->addAddress($email, mb_encode_mimeheader($name, 'ISO-2022-JP')); // 送信先メールアドレスと名前 71 // 件名 72 73 $mail->Body = mb_convert_encoding($name, "JIS","UTF-8"); // 本文 74 $mail->Body = mb_convert_encoding($furigana, "JIS","UTF-8"); // 本文 75 $mail->Body = mb_convert_encoding($email, "JIS","UTF-8"); // 本文 76 $mail->Body = mb_convert_encoding($tel, "JIS","UTF-8"); // 本文 77 $mail->Body = mb_convert_encoding($lineid, "JIS","UTF-8"); // 本文 78 $mail->Body = mb_convert_encoding($time4, "JIS","UTF-8"); // 本文 79 $mail->Body = mb_convert_encoding($timehh1, "JIS","UTF-8"); // 本文 80 $mail->Body = mb_convert_encoding($time5, "JIS","UTF-8"); // 本文 81 $mail->Body = mb_convert_encoding($timehh2, "JIS","UTF-8"); // 本文 82 $mail->Body = mb_convert_encoding($time6, "JIS","UTF-8"); // 本文 83 $mail->Body = mb_convert_encoding($timehh3, "JIS","UTF-8"); // 本文 84 $mail->Body = mb_convert_encoding($age, "JIS","UTF-8"); // 本文 85 $mail->Body = mb_convert_encoding($work, "JIS","UTF-8"); // 本文 86 $mail->Body = mb_convert_encoding($nunsyuu, "JIS","UTF-8"); // 本文 87 $mail->Body = mb_convert_encoding($mokuhyuu, "JIS","UTF-8"); // 本文 88 $mail->Body = mb_convert_encoding($badmoney, "JIS","UTF-8"); // 本文 89 $mail->Body = mb_convert_encoding($workkeikenn, "JIS","UTF-8"); // 本文 90 $mail->Body = mb_convert_encoding($question, "JIS","UTF-8"); // 本文 91 92// 送信 93 $mail->send(); 94 echo '送信済み'; 95} catch (Exception $e) { 96 echo "送信失敗: {$mail->ErrorInfo}"; 97} 98?> 99 100 101<!DOCTYPE html> 102 103 104 <html> 105<head> 106 107 <meta charset ="utf-8"> 108 <title>完了画面-お問い合わせ </title> 109 110 </head> 111<body> 112 <p>お問い合わせありがとうございます。 113 </p> 114</body> 115 </html>

投稿2021/02/24 08:29

phper.k

総合スコア3923

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

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

ghtew2

2021/02/24 12:16

回答ありがとうございます。助かります。明日試して見たいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問