Help us understand the problem. What is going on with this article?

PHP For Beginnersチュートリアル その1 PHPMailerの基本的な設定について。

More than 1 year has passed since last update.

この記事の目的

体系的なwebコーディングの訓練ができるようになるために、PHPの初学のきっかけかつ、PHPでログインフォームやフォームを実装することができるようになるために

PHP For Beginners

上記のチュートリアルを進めているのでその備忘録。

内容

今回のチュートリアル

PHPMailer Tutorial - Send Email Attachments

やったこと

PHPMailerの設定がなんて書いてあるか、自分で打ち込んだものに注釈をつける。
また、動画では作者が独自に改良したもので説明されているので違うところは適宜自分で調べて書いていく。

成果物

training.php
PHPMailerの基本的な設定の書き方

<?php

// use関数で必要なphpを読み込む

    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;

    // require関数でautoloadと外部で設定ファイルを作っているならそれを読み込む

    require 'vendor/autoload.php';
    require 'config.php';

    // インスタンスを作る

    $mail = new PHPmailer(true);

    // 作ったインスタンスに対してtry-catch構文で処理を書き込んでいく

    try{

        // SMTPサーバーの設定

        $mail->SMTPDebug =2; //本番環境では任意の数にする
        $mail->isSMTP();
        $mail->SMTPAuth = true;
        $mail->Host = MAIL_HOST; //SMTPのホストをいれる
        $mail->Username = MAIL_USERNAME; //本番環境では実際に使用するメールアドレスをいれる
        $mail->Password = MAIL_PASSWORD; //二段階認証ならアプリパスワードを生成していれる。それ以外は使用するメールアドレスのパスワード
        $mail->SMTPSecure = MAIL_ENCRPT; //SMTPのセキュリティ方式を入れる、tlsでOK
        $mail->Port = SMTP_PORT; //使用するPort番号をいれる

        // メールの送受信者を設定する

        $mail->setFrom(FROM_MAIL, FROM_MAIL); //送り主側
        $mail->addAddress(TO_MAIL, TO_MAIL); //受信側

        // メールの方式を設定する

        $mail->isHTML(false); //HTML方式のメール,trueでオンになる

        //メールの中身を決める

        $mail->Charset = "UTF-8"; //文字コードを設定
        $mail->Subject = "メールのタイトル"; //日本語の場合はmb_convert_encoding("件名です。", "UTF-8", "AUTO");と記述する
        $mail->Body = "メール本文";

        // HTML方式のメールの場合は下記と入れ替える

        // $mail->Charset = "UTF-8"; //文字コードを設定
        // $mail->Subject = mb_convert_encoding("件名です。", "UTF-8", "AUTO");
        // $mail->Body = "<html>メール本文</html>"; //HTMLマークアップ形式で書く
        // $mail->AltBody = "メール本文";

        // 送信コマンド

        $mail->send();
        echo "Message has been sent";

        //catchで以上の処理のどこかでエラーが出て、送信できなかった場合エラーメッセージを出す

     } catch(Exception $e) {
        echo "Eroor:".$mail->ErrorInfo;



}

広がった知見

PHPは書き方以外はまだ条件分岐やfor文がわかるくらいで、クラスの概念やオブジェクトなどはJavaScriptでのごく基本的な部分の理解しかない中、早くもクラスの概念が出てきたのでその重要性を知る。

try~catch構文の使い方を知る。

shitikakei
ITパスポート取得をきっかけに2019年、0から勉強をスタート。 同年4~7月までHTML・CSS・Javascript。 同年7~10月半ばまでPHP。 同年11月〜2020/1月にLaravelを学びながら成果物を作成。2020/4月よりPython・Djangoの学習を始め、同年5月~6月にチーム開発企画に参加。現在フリーターから就職先を探しています。
https://www.resume.id/shitikamiyako
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away