
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Webシステムをローカルで再現し...
-
ImageCreate関数が undefined f...
-
PHPとAPACHEのエラー「Warning:...
-
sql文について質問です。エラー...
-
Pear::QuickFormの代わりにな...
-
phpで処理分岐して別のphpを呼...
-
PHPMailerのサンプルコードのエ...
-
CodeIgniter/index.phpにアクセ...
-
マルチバイト関数
-
メール送信
-
FTPコマンドでディレクトリごと...
-
PHPのif文でその処理を途中で抜...
-
FORMで送信ボタンと戻るボタン...
-
日付と年月日を選択するコード...
-
findfirst("*",&ffblk,FA_DIREC...
-
rmdirでフォルダが消せません
-
バッチを用いたフォルダの自動移動
-
「クラウドにアップロード」」...
-
PHPファイルの中身が見られるこ...
-
PHPで複数ファイルのダウン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ImageCreate関数が undefined f...
-
マルチバイト関数
-
データベースへの接続について
-
Fatal error: マルチバイト文字...
-
includeでファイルが呼び出せない…
-
仮想フレームバッファXvfb上でf...
-
php5のフォーム
-
PHP PCアクセス制限
-
POSTした値を、別ページにもPOS...
-
marty3のvariableFilter
-
PHPとAPACHEのエラー「Warning:...
-
メール送信
-
UTF-8でsetcookieを使うには
-
たまに$_REQUESTの値が消える
-
php.iniの設定の仕方
-
sql文について質問です。エラー...
-
smartyについて
-
値の受け渡しが出来ない。
-
Pear::QuickFormの代わりにな...
-
PHP認証がProxy越しだと通らな...
おすすめ情報
No1さんへの補足で、(1) (2) のコードを貼ってみましたが、お礼欄も補足欄も文字数オーバーでお示しができませんでした。