回答編集履歴

2

切り分け用のソースコードを作りましたので試してみて下さい

2020/02/16 00:54

投稿

ockeghem
ockeghem

スコア11710

test CHANGED
@@ -99,3 +99,45 @@
99
99
 
100
100
 
101
101
  HTMLメールでない場合、この行は不要です。
102
+
103
+
104
+
105
+ ---
106
+
107
+ 極限まで簡略化したソースを作りましたので試してみて下さい。メールアドレスは変更してください。
108
+
109
+
110
+
111
+ ```PHP
112
+
113
+ <?php
114
+
115
+ require_once 'PHPMailer/src/PHPMailer.php';
116
+
117
+ use PHPMailer\PHPMailer\PHPMailer;
118
+
119
+ use PHPMailer\PHPMailer\Exception;
120
+
121
+
122
+
123
+ $mail = new PHPMailer();
124
+
125
+ try {
126
+
127
+ $mail->AddAddress('atesaki@example.jp'); // 送信先のメールアドレスを指定
128
+
129
+ $mail->SetFrom('test@example.com'); // 送信元アドレスを指定
130
+
131
+ $mail->Subject = 'test subject';
132
+
133
+ $mail->Body = 'test body';
134
+
135
+ $mail->send();
136
+
137
+ } catch (Exception $e) {
138
+
139
+ echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}\n";
140
+
141
+ }
142
+
143
+ ```

1

追記しました

2020/02/16 00:54

投稿

ockeghem
ockeghem

スコア11710

test CHANGED
@@ -7,3 +7,95 @@
7
7
 
8
8
 
9
9
  Lolipopの「メール設定」から上記の画面を表示して、「メールアカウント」と「メールパスワード」を確認してください。パスワードは初期状態ではマスクされていますが、錠前のアイコンをクリックすると表示されます。
10
+
11
+
12
+
13
+ ---
14
+
15
+ 追記します。まず、以下の部分はメールを送信するだけであれば不要です。以下がない場合、ウェブサーバー上のsendmailコマンド経由でメール送信されます。敢えて外部のメールサーバーを利用したいのみ以下を指定すればよいでしょう。そして、以下を省略すると、IDとパスワードも不要になります。
16
+
17
+
18
+
19
+ ```PHP
20
+
21
+ $mail->SMTPDebug = SMTP::DEBUG_SERVER; // Enable verbose debug output
22
+
23
+ $mail->isSMTP(); // Send using SMTP
24
+
25
+ $mail->Host = 'smtp.lolipop.jp'; // Set the SMTP server to send through(ロリポップSMTPサーバー)
26
+
27
+ $mail->SMTPAuth = true; // Enable SMTP authentication
28
+
29
+ $mail->Username = 'xxx@xxxx.jp'; // SMTP username(ロリポップのSMTPサーバーのメールアカウント)
30
+
31
+ $mail->Password = '********'; // SMTP password(メールアカウントのパスワード)
32
+
33
+ $mail->SMTPSecure = 'ssl'; // Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` also accepted(ssl接続)
34
+
35
+ $mail->Port = 465;
36
+
37
+ ```
38
+
39
+
40
+
41
+ 以下、コメント内の疑問への回答です。
42
+
43
+
44
+
45
+ ```PHP
46
+
47
+ // require 'vendor/autoload.php'; //autoload.phpがどこにも見つからないのはなぜ...?ダウンロードしたコンテンツ内になかったのでコメント化しないとページがそもそも開けませんでした
48
+
49
+ ```
50
+
51
+
52
+
53
+ おそらくcomposerコマンドを用いず、wget等でダウンロードしたからではないでしょうか?
54
+
55
+
56
+
57
+ ```PHP
58
+
59
+ $mail->setFrom('xxx@xxxx.jp', 'Mailer'); //送信元のアドレスと送信者名(この場合、ロリポップのwebメールアドレス?)
60
+
61
+ ```
62
+
63
+
64
+
65
+ これは、相手のメールソフト上での「差出人」をどう表示したいかを指定します。
66
+
67
+
68
+
69
+ ```PHP
70
+
71
+ $mail->addAddress('xxxxx@gmail.com', 'Joe User'); // Add a recipient(送信先と受信者名。この場合、Gmailアドレス?)
72
+
73
+ ```
74
+
75
+
76
+
77
+ ここは送信先のメールアドレスです。相手先のメールアドレスなので一般的にはgmailとは限りません。
78
+
79
+
80
+
81
+ ```PHP
82
+
83
+ $mail->isHTML(true); // Set email format to HTML(ここはよくわからない。
84
+
85
+ ```
86
+
87
+
88
+
89
+ HTMLメールを送りたいときはtrueですが、普通のテキストメールの場合はfalseにするか、この行自体を削除します。
90
+
91
+
92
+
93
+ ```PHP
94
+
95
+ $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
96
+
97
+ ```
98
+
99
+
100
+
101
+ HTMLメールでない場合、この行は不要です。