管理者向けの通知メールの修正【要PHP】

管理者向けの通知メールのメール文面を変更したい場合、

/CMSインストールディレクトリ/app/webapp/inquiry/src/template/テンプレート名/mail.admin.php

を追加します。

※テンプレート名に関してはフォーム箇所のテンプレートの修正【要PHP】をご覧ください。


改修例として、

問い合わせ番号: 1-0000-1111
問い合わせ日時: 2024-01-01 00:00:00
お名前	    : まめくらまめぞう
メールアドレス: info@soyinquiry.co.jp
件名	    : テストのお問い合わせ
本文	    : ハロー

のようにラベルの文字列の長いものに併せて内容を出力を、


問い合わせ番号: 1-0000-1111
問い合わせ日時: 2024-01-01 00:00:00
お名前: まめくらまめぞう
メールアドレス: info@soyinquiry.co.jp
件名: テストのお問い合わせ
本文: ハロー

のように左詰めで出力するようにしてみます。


/CMSインストールディレクトリ/app/webapp/inquiry/src/template/テンプレート名/mail.admin.phpを配置して、ファイルの内容を

<?php

/** $mailBody[0]に管理者向けメールのお問い合わせ内容が格納されている **/

$lines = explode("\n", $mailBody[0]);
if(count($lines)){
	$_tmp = array();
	foreach($lines as $line){
		/**
		 * :␣で行を分割する 「ラベル:␣入力内容」
		 * 注) ラベル内に:␣がある場合は対応していません
		 */
		if(is_numeric(strpos($line, ": "))){
			$_div = explode(": ", $line);
			$label = trim($_div[0]);
			$content = "";
			if(count($_div) > 1){	// 入力内容に:␣がある場合の対策
				$_dust = array_shift($_div);
				$content = implode(": ", $_div);
			}
			
			$_tmp[] = $label . ": " . trim($content);
		}else{
			$_tmp[] = $line;
		}
	}

	$mailBody[0] = implode("\n", $_tmp);
}

にします。




続いて、

問い合わせ番号:
1-0000-1111
問い合わせ日時: 
2024-01-01 00:00:00
お名前: 
まめくらまめぞう
メールアドレス: 
info@soyinquiry.co.jp
件名: 
テストのお問い合わせ
本文: 
ハロー

のようにラベルの後に改行を挟み、入力内容を出力するようにしてみます。


/CMSインストールディレクトリ/app/webapp/inquiry/src/template/テンプレート名/mail.admin.phpを

<?php

/** $mailBody[0]に管理者向けメールのお問い合わせ内容が格納されている **/

$lines = explode("\n", $mailBody[0]);
if(count($lines)){
	$_tmp = array();
	foreach($lines as $line){
		/**
		 * :␣で行を分割する 「ラベル:␣入力内容」
		 * 注) ラベル内に:␣がある場合は対応していません
		 */
		if(is_numeric(strpos($line, ": "))){
			$_div = explode(": ", $line);
			$label = trim($_div[0]);
			$content = "";
			if(count($_div) > 1){	// 入力内容に:␣がある場合の対策
				$_dust = array_shift($_div);
				$content = implode(": ", $_div);
			}
			
			$_tmp[] = $label . ": ";
			$_tmp[] = trim($content);
		}else{
			$_tmp[] = $line;
		}
	}

	$mailBody[0] = implode("\n", $_tmp);
}

にします。




問い合わせ番号: 1-0000-1111
問い合わせ日時: 2024-01-01 00:00:00
お名前	    : まめくらまめぞう
メールアドレス: info@soyinquiry.co.jp
件名	    : テストのお問い合わせ
本文	    : ハロー

■サブタイトル1
問い合わせ番号: 1-0000-1111
問い合わせ日時: 2024-01-01 00:00:00
■サブタイトル2
お名前	    : まめくらまめぞう
メールアドレス: info@soyinquiry.co.jp
件名	    : テストのお問い合わせ
本文	    : ハロー

のように任意の項目の前に文字列を挿入してみます。


/CMSインストールディレクトリ/app/webapp/inquiry/src/template/テンプレート名/mail.admin.phpを

<?php

/** $mailBody[0]に管理者向けメールのお問い合わせ内容が格納されている **/

$lines = explode("\n", $mailBody[0]);
if(count($lines)){
	$_tmp = array();
	foreach($lines as $line){
		/**
		 * :␣で行を分割する 「ラベル:␣入力内容」
		 * 注) ラベル内に:␣がある場合は対応していません
		 */
		if(is_numeric(strpos($line, ": "))){
			$_div = explode(": ", $line);
			$label = trim($_div[0]);

			if(is_numeric(strpos($_div[0], "問い合わせ番号"))){
				$_tmp[] = "■サブタイトル1";
			}else if(is_numeric(strpos($_div[0], "お名前"))){
				$_tmp[] = "■サブタイトル2";				
			}
		}
		$_tmp[] = $line;
	}

	$mailBody[0] = implode("\n", $_tmp);
}

にします。