swiftmailer로 메일 보내기

7482 단어 PHPswiftmailer
아래 그림에서 보듯이 로컬 환경에서 자신에게 쉽게 메일을 보낼 수 있다.
매번 SMTP 설정을 변경할 수 있기 때문에 XAMPP와 함께 제공된 sendmail 사용보다 편리하다.

컨디션

  • Windows 10
  • XAMPP 7.2.2
  • Composer 1.6.5

  • swiftmailer 6.1.2
  • swiftmailer 설치


    Installation
    PowerShell
    > composer require "swiftmailer/swiftmailer:^6.0"
    

    Google 계정 사용


    차리다


    메일을 보낼 Google 계정으로 로그인한 후 다음 페이지를 엽니다.
    https://myaccount.google.com/lesssecureapps
    그런 다음 보안이 낮은 응용 프로그램에 대한 라이센스를 활성화합니다.

    보내다


    Basic Usage
    Encrypted SMTP
    Gmail의 SMTP 설정
    <?php
    require_once './vendor/autoload.php';
    
    $from = '<Gmailアドレス>';
    
    // 送信設定
    $transport = (new Swift_SmtpTransport('smtp.gmail.com', 587, 'tls'))
        ->setUsername($from)
        ->setPassword('<Googleのパスワード>');
    
    // 送信設定をもとにメール送信のインスタンスを作成
    $mailer = new Swift_Mailer($transport);
    
    // メッセージを作成
    $message = (new Swift_Message('件名'))
        ->setFrom([$from => '送信者名 (省略可)'])
        ->setTo(['<送信先アドレス>' => '受信者名 (省略可)'])
        ->setBody("こんにちは!\nこれはテスト送信です。\nTLSで暗号化しています。");
    
    // メールを送信する
    if ($mailer->send($message)) {
        echo 'メールを送信しました。';
    }
    

    Yahoo!계정 사용


    보내다


    Yahoo!메시지 SMTP 설정
    Yahoo!의 경우 메일 주소에서 도메인을 제외한 것은 사용자 이름입니다.
    암호화할 수 없기 때문에 명문으로 보냅니다.
    포트 번호는 587입니다.
    발췌하다
    $username = '<ユーザー名>';
    $from = $username . '@yahoo.co.jp';
    
    // 送信設定
    $transport = (new Swift_SmtpTransport('smtp.mail.yahoo.co.jp', 587))
        ->setUsername($username)
        ->setPassword('<パスワード>');
    

    암호화 정보


    이전부터 SSL 발송을 지정해도 아래와 같은 명문이 됐다.

    그러나 2018년 7월 31일 동작을 재확인한 뒤 SSL을 지정하면 스와프트 메일러가 오류로 인해 멈춘다.
    따라서 명문으로만 발송할 수 있다.
    저도 증명서를 만들어 S/MIME로 암호화할 수 있지만 오히려 공식 환경에서 사용하지 않고 그대로 두세요.

    기타

  • HTML 메시지를 보내려면: Setting the Body Content
  • 일본어의 난자 대책: Using Swift Mailer for Japanese Emails
  • 좋은 웹페이지 즐겨찾기