勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

PHPでファイルを添付してメールを送信する方法(PHPMailer)

   2024/03/04  PHP

PHPでファイルを添付の上、メールを送信したかった。方法を探したところphpmailerというライブラリが簡単に使えてよかった。以下にダウンロード先と使い方のメモ。

 

phpmailer

https://code.google.com/a/apache-extras.org/p/phpmailer/

 

ソースコード

include('./class.phpmailer.php');

mb_language("japanese");
mb_internal_encoding("UTF-8");

$to = 'to@test.com';
$subject = "メール件名";
$body="メール本文";
$from = "from@test.com";
$attachfile = '/var/www/html/hoge/fuga.txt'; //添付ファイル

$mail = new PHPMailer();
$mail->CharSet = "iso-2022-jp";
$mail->Encoding = "7bit";
 
$mail->AddAddress($to);
$mail->From = $from;
$mail->FromName = mb_encode_mimeheader(mb_convert_encoding($fromname,"JIS","UTF-8"));
$mail->Subject = mb_encode_mimeheader(mb_convert_encoding($subject,"JIS","UTF-8"));
$mail->Body  = mb_convert_encoding($body,"JIS","UTF-8");

//添付ファイル追加
$mail->AddAttachment($attachfile);
//$mail->AddAttachment($attachfile2);みたいに2個目を追加することも可能。

if( !$mail->Send() ){
    //$mail->Send()で送信されてエラー時は$mail->getErrorMessage()で内容確認。
}

 - PHP

  関連記事

Mailtrap & PHPMailerでメールサーバ無しの環境でもメール送信テストを行う方法

開発環境等メールサーバが無い環境でメール送信テストを行う際にMailtrapとい ...

メールサーバーを構築せずにGmailのSMPTを使ってPHPでメール送信

メールサーバーが立てられなかったり、無料サーバーのため使えなかったりといった場合 ...

PHPMailerでメールを送信する際にTLS / SSL暗号化させる方法

PHPMailerでメールを送信したところGmailで確認すると赤い鍵のようなア ...

SendGridを使ってメールサーバを構築せずにPHPからメールを送信する方法

メールサーバを構築せずに独自ドメインのメールアドレスにてメール送信を行いたい。過 ...

【2024年版】PHPMailerでGmailのSMTPサーバを経由してメールを送信する方法

だいぶ前に同じようなことをメモしたが、そちらの方法だと送信できずエラー内容を見た ...