teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

ファイルの位置を変更してみたところ、エラー文が変化しました

2020/11/04 04:59

投稿

nyam
nyam

スコア2

title CHANGED
File without changes
body CHANGED
@@ -3,18 +3,17 @@
3
3
  PHPMailerのインストールにはcomposerを使いました。
4
4
 
5
5
  ##困っていること
6
- PHPMailerを使ってメールを送信したのに、最初のautoload.phpが読み込め
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
- complete.phpの表示画面で送信を押すと表示されました
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
-  require('/mailset.php');<--------------変更した箇所(8行目あたりにかくとMAIL_HOSTが未定義だとエラーになりました)
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

ファイルの位置を変更してみたところ、エラー文が変化しました

2020/11/04 04:59

投稿

nyam
nyam

スコア2

title CHANGED
@@ -1,1 +1,1 @@
1
- PHPMailerを使うためのcomposerのautoload.phpをrequireでき
1
+ composerのautoloadが読み込めたけどPHPMailerのaddReplyToがエラーに
body CHANGED
@@ -16,49 +16,39 @@
16
16
  ##エラー内容
17
17
  complete.phpの表示画面で送信を押すと表示されました
18
18
  ```
19
- Warning: require(c:/user/***/vendor/autoload.php): failed to open stream: No such file or directory in C:\xampp7\htdocs\complete.php on line 5
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
- ・autoload.php
26
+   composer.bat        phpmailerフォルダ
27
- ```
28
- C:\Users****\vendor\autoload.php
27
+ composer.phar       autoload.php
28
+ Composer-Setup.exe
29
+   composer.json
30
+ composer.lock
29
- ```
31
+ Input.php
32
+ Comfirm.php
30
- ・complete.php
33
+ Complete.php
31
- ```
32
- C:\xampp7\htdocs\complete.php
33
- ```
34
- ・PHPMailer
34
+ vendorフォルダ
35
- ```
36
- C:\Users****\vendor\phpmailer\phpmailer
37
- ```
38
- ・composerフォルダ
35
+ commonフォルダ
39
- ```
40
- C:\Users****\vendor\composer
41
- ```
42
- ・composerファイルなど
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('../mailset.php');
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 ('mail_bcc','mail_bcc_name');
89
+ $mail->addReplayTo (mail_return_path);<-------------変更した箇所
99
- $mail->addBcc('mail_bcc'); // BCCで追加
90
+ $mail->addBcc(mail_bcc); // BCCで追加
100
91
  $mail->Subject = $subject; // メールタイトル
101
92
 
102
93
  $mail->Body = $mail_body; // メール本文

1

PHPMailerをcomposerを使ってインストールするときに入力したコマンドを記載しました

2020/11/04 04:45

投稿

nyam
nyam

スコア2

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
  ```