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

回答編集履歴

2

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

2020/02/16 00:54

投稿

ockeghem
ockeghem

スコア11710

answer CHANGED
@@ -48,4 +48,25 @@
48
48
  $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
49
49
  ```
50
50
 
51
- HTMLメールでない場合、この行は不要です。
51
+ HTMLメールでない場合、この行は不要です。
52
+
53
+ ---
54
+ 極限まで簡略化したソースを作りましたので試してみて下さい。メールアドレスは変更してください。
55
+
56
+ ```PHP
57
+ <?php
58
+ require_once 'PHPMailer/src/PHPMailer.php';
59
+ use PHPMailer\PHPMailer\PHPMailer;
60
+ use PHPMailer\PHPMailer\Exception;
61
+
62
+ $mail = new PHPMailer();
63
+ try {
64
+ $mail->AddAddress('atesaki@example.jp'); // 送信先のメールアドレスを指定
65
+ $mail->SetFrom('test@example.com'); // 送信元アドレスを指定
66
+ $mail->Subject = 'test subject';
67
+ $mail->Body = 'test body';
68
+ $mail->send();
69
+ } catch (Exception $e) {
70
+ echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}\n";
71
+ }
72
+ ```

1

追記しました

2020/02/16 00:54

投稿

ockeghem
ockeghem

スコア11710

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