勉強したことのメモ

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

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

   2024/03/04  PHP

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

 

phpmailer

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

 

ソースコード

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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()で内容確認。
}
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()で内容確認。 }
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

  関連記事

PHPMailerでエラーメッセージを日本語で出力する方法

PHPMailerのGitHubページを見ていると言語設定についての案内を見つけ ...

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

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

PHPでメール送信時に返信先(Reply-To)を指定する方法

PHPにてメールを送信し、そのメールに対して返信しようとすると通常は送信元のメー ...

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

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

PHPMailerを使ってメールをSMTP送信する方法(Composer無し)

PHPでメールをSMTP送信したかった。また、レンタルサーバだったのでCompo ...

S