勉強したことのメモ

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とい ...

PHPMailerでエンベロープFrom(Return-Path)を指定する方法

同じメールアドレスから送信したメールがmb_send_mail関数だと受信できる ...

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

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

PHPでHTMLメールを送信する方法(PHPMailerあり無しの2パターン)

PHPでHTMLメールを送信したい。また、メール関連の機能を実装する際は環境によ ...

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

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