質問編集履歴
3
ファイルの位置を変更してみたところ、エラー文が変化しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -3,18 +3,17 @@
|
|
3
3
|
PHPMailerのインストールにはcomposerを使いました。
|
4
4
|
|
5
5
|
##困っていること
|
6
|
-
|
6
|
+
回答してくださった方の通りにファイルの位置を変えたらautoloadの箇所はエラーを吐かなかったです。
|
7
|
+
ただ、エラー内容の文言がconfirm.phpのページで送信を押すと表示されます。
|
8
|
+
該当の行をコメント行にすると送信完了になり、送信できた判定になるのですが、メールは何も届いていません。
|
7
9
|
|
8
|
-
(つけたし)
|
9
|
-
(実はこの質問をする前はその部分はエラーにならず、$MAILER = new PHPMailer();の箇所でエラーになりました。そのエラーについて何とかしようとしてcomposerのファイルの位置を変えたり、インストールしなおしたりしていたらこうなってしまいました。
|
10
|
-
あとそういえばcomposerをインストールしなおすときに、すでにc:の下にインストールしているよー。あとでコントロールパネルからアンストしてねー的なメッセージが出ましたが、あとでコントロールパネルからみるとcomposerは一つしかない状態でした。
|
11
10
|
|
12
11
|
##PHPMailerのインストールについて
|
13
12
|
composerをインストールしたあと、コマンドプロンプトを開いて、
|
14
13
|
composerを入力してenter,そのあと composer require phpmailer/phpmailer と入力しました
|
15
14
|
|
16
15
|
##エラー内容
|
17
|
-
|
16
|
+
confirm.phpの表示画面で送信を押すと表示されました
|
18
17
|
```
|
19
18
|
Fatal error: Uncaught Error: Call to undefined method PHPMailer\PHPMailer\PHPMailer::addReplayTo() in C:\xampp7\htdocs\Complete.php:56 Stack trace: #0 {main} thrown in C:\xampp7\htdocs\Complete.php on line 56
|
20
19
|
|
@@ -41,13 +40,14 @@
|
|
41
40
|
complete.php
|
42
41
|
|
43
42
|
<?php
|
43
|
+
//変更箇所:3,4,6,42行目
|
44
|
-
use PHPMailer\PHPMailer\PHPMailer;
|
44
|
+
use PHPMailer\PHPMailer\PHPMailer;
|
45
|
-
use PHPMailer\PHPMailer\Exception;
|
45
|
+
use PHPMailer\PHPMailer\Exception;
|
46
46
|
|
47
47
|
//declare(strict_types = 1);
|
48
48
|
session_start();
|
49
49
|
|
50
|
-
require('vendor/autoload.php');
|
50
|
+
require('vendor/autoload.php');
|
51
51
|
|
52
52
|
include('htmlの最初の文言を読み込み');
|
53
53
|
require('いろんな関数読み込み');
|
@@ -71,7 +71,8 @@
|
|
71
71
|
//-------PHPMailerの設定---------------
|
72
72
|
|
73
73
|
$MAILER = new PHPMailer();
|
74
|
-
|
74
|
+
//変更した箇所(8行目あたりにかくとMAIL_HOSTが未定義だとエラーになりました)
|
75
|
+
require('/mailset.php');
|
75
76
|
|
76
77
|
$MAILER->isSMTP();
|
77
78
|
$MAILER->SMTPAuth = true;
|
@@ -86,7 +87,8 @@
|
|
86
87
|
$MAILER->Encoding = "base64";
|
87
88
|
$MAILER->setFrom (mail_from,mail_from_name);
|
88
89
|
$MAILER->addAddress($mail);
|
90
|
+
//<----変更した箇所('mail_bcc','mai_bcc_name'からmail_return_path
|
89
|
-
$mail->addReplayTo (mail_return_path);
|
91
|
+
$mail->addReplayTo (mail_return_path);
|
90
92
|
$mail->addBcc(mail_bcc); // BCCで追加
|
91
93
|
$mail->Subject = $subject; // メールタイトル
|
92
94
|
|
2
ファイルの位置を変更してみたところ、エラー文が変化しました
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
composerのautoloadが読み込めたけどPHPMailerのaddReplyToがエラーになる
|
body
CHANGED
@@ -16,49 +16,39 @@
|
|
16
16
|
##エラー内容
|
17
17
|
complete.phpの表示画面で送信を押すと表示されました
|
18
18
|
```
|
19
|
-
|
19
|
+
Fatal error: Uncaught Error: Call to undefined method PHPMailer\PHPMailer\PHPMailer::addReplayTo() in C:\xampp7\htdocs\Complete.php:56 Stack trace: #0 {main} thrown in C:\xampp7\htdocs\Complete.php on line 56
|
20
20
|
|
21
|
-
Fatal error: require(): Failed opening required 'c:/user/***/vendor/autoload.php' (include_path='\xampp7\php\PEAR') in C:\xampp7\htdocs\complete.php on line 5
|
22
|
-
|
23
21
|
```
|
24
22
|
|
25
23
|
##ファイルの位置
|
24
|
+
・c:\xampp7\htdocs中 ・vendorフォルダの中
|
25
|
+
→composer composerフォルダ
|
26
|
-
|
26
|
+
composer.bat phpmailerフォルダ
|
27
|
-
```
|
28
|
-
|
27
|
+
composer.phar autoload.php
|
28
|
+
Composer-Setup.exe
|
29
|
+
composer.json
|
30
|
+
composer.lock
|
29
|
-
|
31
|
+
Input.php
|
32
|
+
Comfirm.php
|
30
|
-
|
33
|
+
Complete.php
|
31
|
-
```
|
32
|
-
C:\xampp7\htdocs\complete.php
|
33
|
-
```
|
34
|
-
|
34
|
+
vendorフォルダ
|
35
|
-
```
|
36
|
-
C:\Users****\vendor\phpmailer\phpmailer
|
37
|
-
```
|
38
|
-
|
35
|
+
commonフォルダ
|
39
|
-
```
|
40
|
-
C:\Users****\vendor\composer
|
41
|
-
```
|
42
|
-
|
36
|
+
style.css
|
43
|
-
|
37
|
+
|
44
|
-
C:\Users****\PHPの中
|
45
|
-
種類
|
46
|
-
→composer ファイル
|
47
|
-
composer.bat Windowsバッチファイル
|
48
|
-
composer.phar PHARファイル
|
49
|
-
Composer-Setup.exe アプリケーション
|
50
|
-
```
|
51
38
|
##ソースコード
|
52
39
|
|
53
40
|
```PHP
|
54
41
|
complete.php
|
55
42
|
|
56
43
|
<?php
|
44
|
+
use PHPMailer\PHPMailer\PHPMailer;<-------------変更した箇所
|
45
|
+
use PHPMailer\PHPMailer\Exception;<-------------変更した箇所
|
46
|
+
|
57
|
-
declare(strict_types = 1);
|
47
|
+
//declare(strict_types = 1);
|
58
48
|
session_start();
|
59
49
|
|
60
|
-
require('c:/user/****/vendor/autoload.php');
|
61
|
-
require('
|
50
|
+
require('vendor/autoload.php');<-------------変更した箇所
|
51
|
+
|
62
52
|
include('htmlの最初の文言を読み込み');
|
63
53
|
require('いろんな関数読み込み');
|
64
54
|
require('common/mailvars.php');
|
@@ -81,6 +71,7 @@
|
|
81
71
|
//-------PHPMailerの設定---------------
|
82
72
|
|
83
73
|
$MAILER = new PHPMailer();
|
74
|
+
require('/mailset.php');<--------------変更した箇所(8行目あたりにかくとMAIL_HOSTが未定義だとエラーになりました)
|
84
75
|
|
85
76
|
$MAILER->isSMTP();
|
86
77
|
$MAILER->SMTPAuth = true;
|
@@ -95,8 +86,8 @@
|
|
95
86
|
$MAILER->Encoding = "base64";
|
96
87
|
$MAILER->setFrom (mail_from,mail_from_name);
|
97
88
|
$MAILER->addAddress($mail);
|
98
|
-
$mail->addReplayTo (
|
89
|
+
$mail->addReplayTo (mail_return_path);<-------------変更した箇所
|
99
|
-
$mail->addBcc(
|
90
|
+
$mail->addBcc(mail_bcc); // BCCで追加
|
100
91
|
$mail->Subject = $subject; // メールタイトル
|
101
92
|
|
102
93
|
$mail->Body = $mail_body; // メール本文
|
1
PHPMailerをcomposerを使ってインストールするときに入力したコマンドを記載しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -9,6 +9,10 @@
|
|
9
9
|
(実はこの質問をする前はその部分はエラーにならず、$MAILER = new PHPMailer();の箇所でエラーになりました。そのエラーについて何とかしようとしてcomposerのファイルの位置を変えたり、インストールしなおしたりしていたらこうなってしまいました。
|
10
10
|
あとそういえばcomposerをインストールしなおすときに、すでにc:の下にインストールしているよー。あとでコントロールパネルからアンストしてねー的なメッセージが出ましたが、あとでコントロールパネルからみるとcomposerは一つしかない状態でした。
|
11
11
|
|
12
|
+
##PHPMailerのインストールについて
|
13
|
+
composerをインストールしたあと、コマンドプロンプトを開いて、
|
14
|
+
composerを入力してenter,そのあと composer require phpmailer/phpmailer と入力しました
|
15
|
+
|
12
16
|
##エラー内容
|
13
17
|
complete.phpの表示画面で送信を押すと表示されました
|
14
18
|
```
|