![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
PHPMailerを使いたくてネット情報などあたっているのですが、
(1) https://taitan916.info/blog/archives/3407 の「ソースコード」 または
(2) https://demi-urge.com/php-smtp/ にある「使い方は以下の通りです」のコード
を貼り付け、test.phpとします。
公式配布元 https://github.com/PHPMailer/PHPMailer からZIPのパックをダウンロードし、
test.phpがあるディレクトリから見て、以下のように配置してあります。
PHPMailer/src/PHPMailer.php
PHPMailer/src/Exception.php
PHPMailer/src/SMTP.php
IISでtest.phpを開くと、
(1) の方は、Parse error: syntax error, unexpected T_STRING, expecting T_CONSTANT_ENCAPSED_STRING or '(' in D:\002_WebSites\jcea\tec\test.php on line 3
(2) の方は、Parse error: syntax error, unexpected T_STRING, expecting T_CONSTANT_ENCAPSED_STRING or '(' in D:\002_WebSites\jcea\tec\test.php on line 8
どちらも、「use PHPMailer\PHPMailer\PHPMailer;」の記述でつまづくのですが、原因はなんでしょうか?
Composerというのが王道みたいですが、Composerは使わないでPHPMailerを使いたいです。
手元の実験環境は、事情あってPHP5.2.17+IIS(Win10)です。
No.4ベストアンサー
- 回答日時:
> 【結果】以下のエラーです・・・・なかなかうまくいきませんね。
。。Message could not be sent.Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Trou …
そのエラーメッセージのURLにご丁寧なトラブルシューティングがあるようです…
https://github.com/PHPMailer/PHPMailer/wiki/Trou …
SMTP connect() failed. って言うんですから、とりあえずそのサーバーから smtp.nifty.com に通信ができてるかから確認されてみては如何でしょうか?
度々のご教示ありがとうございます。仰せのトラブルシューティングの
"SMTP Error: Could not connect to SMTP host."のところはみたのですがよくわからず失礼いたしました。
>そのサーバーから smtp.nifty.com に通信ができてるか
別のSMTPサーバーでも同じエラー、さらに別のSMTPサーバーで無事動作が確認できました。適切なSMTPサーバーを検討してみます。
貴重なアドバイスに重ねて感謝申し上げます。
No.3
- 回答日時:
書き込んでから気づきましたが、PHP5.2.17をダウンロードしてますか?
https://github.com/PHPMailer/PHPMailer/tree/5.2- …
であれば、↓こう書きなさいって書いてありますね。
<?php
require 'PHPMailerAutoload.php';
$mail = new PHPMailer;
(以下略)
度々大変ありがとうございす。PHPMailer5.2(PHP5.0以降でOK)があるのですね!!
(1) NO3でお示しのURLからZIPをダウンロードし、解凍し「PHPMailer」フォルダに入れ、
これと並列にNO3でお示しのURLにあるサンプルコードを貼りつけた「test.phpと」を置きました。
よって、2行目を以下のように。
require './PHPMailer/PHPMailerAutoload.php'
(2) 暫定的にニフティのSMTP設定を入れました。
https://support.nifty.com/support/manual/mail/se …
$mail->Host = 'smtp.nifty.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'abc12345'; // SMTP username
$mail->Password = 'pw'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587; // TCP port to connect to
(3) 添付ファイルはコメントアウトしました。
//$mail->addAttachment('/var/tmp/file.tar.gz'); // Add attachments
//$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name
【結果】以下のエラーです・・・・なかなかうまくいきませんね。。。
Message could not be sent.Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Trou …
No.2
- 回答日時:
No.1の方のこれが答えじゃないですか?
> あと、PHP5.2ではなくてPHP5.3で試せませんか?
> 名前空間が使えないためのエラーのようですので・・・。
公式配布元githubのFeaturesに下記の記載があります。
> Compatible with PHP 5.5 and later, including PHP 8.1
なので、5.3ですら動くのかどうか…
ご教示ありがとうございます、配布元の記載も確認怠っており失礼いたしました。NO3ご回答で新展開ということで、お礼の続きはNo3に書きますね。
No.1
- 回答日時:
実際にD:\002_WebSites\jcea\tec\test.phpにあるtest.phpの中身をコピペして見せてください。
(1)(2)のコードと同じといいつつ同じじゃない可能性もあるので確認したいです。
あと、PHP5.2ではなくてPHP5.3で試せませんか?
名前空間が使えないためのエラーのようですので・・・。
ご回答ありがとうございます。
本当にコピーしただけで、あえて言えば(1) も(2) も末尾に「?>」を加筆しただけです。
なお、仰せのPHPのバージョンは、実は昨夜5.3.29にバージョンアップしようとしたのですが、IISの設定面で、ISAPI→FastCGIに変更がきかず、IISも何かおかしくなってしまったため、散々格闘して諦めて5.2に戻してました。本番環境は、5.3.29なので、できればバージョンアップしたいのですが。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php エラー 2 2022/10/23 16:43
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- PHP ECCUBE4のページ管理でPHPを実行させたい 1 2023/04/06 11:42
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- HTML・CSS ブロックエディターで作りつつ、画像を挿入しつつ、画像にスタイルシートのコードを付ける方法はありますか 1 2022/08/23 18:46
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- PHP PHP一覧表示した項目にリンクをはりたい 1 2023/07/12 17:08
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPMailerのサンプルコードのエ...
-
phpのheader("Location:#pos")...
-
文字化けについて
-
フォームで戻った際に入力済み...
-
バッチを用いたフォルダの自動移動
-
phpのクラスにて別ファイルの変...
-
ListViewコントロールでサムネ...
-
PHPMailerのコードエラーが解決...
-
[php初心者]サイトを見てデータ...
-
CGIでHTMLファイルのPHP部分を...
-
mb_send_mail関数が利用出来ない
-
onedrive にexcelファイルをア...
-
受け取ったパラメータを次のphp...
-
<A href ~ と一緒に値を渡すには
-
PHPで複数ファイルのダウン...
-
AccessのDoCmd.SendObjectについて
-
PHPのif文でその処理を途中で抜...
-
3つ以上の論理積は利用可能なの...
-
xamppを使う場合のphpファイル...
-
use と requireの違いは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ImageCreate関数が undefined f...
-
PHPMailerのサンプルコードのエ...
-
仮想フレームバッファXvfb上でf...
-
pdflib /pdi の拡張関数が有効...
-
Pear::QuickFormの代わりにな...
-
sformmmail2を使ったお問い合わ...
-
値の受け渡しが出来ない。
-
smartyについて
-
PHPでのAmazonAPI認証スクリプ...
-
xoopsのインストール時に生じる...
-
MAMPでsqlをインポートできない
-
soapclient
-
メール送信
-
phpで処理分岐して別のphpを呼...
-
何故unexpected ';'が出るので...
-
HTMLからPHPを呼び出すには
-
Parse errorが表示されない
-
PHP認証がProxy越しだと通らな...
-
セッションを使ったログインペ...
-
【初歩】 極単純なFOR文がなぜ...
おすすめ情報
No1さんへの補足で、(1) (2) のコードを貼ってみましたが、お礼欄も補足欄も文字数オーバーでお示しができませんでした。