Joomlaからメールを送信するために電子メールプロバイダー(sparkpost)を使用しています!ウェブサイト。一部のメールはマーケティング用メールであり、その他はトランザクション用メールです。
Sparkpostのデフォルトの電子メール設定は「マーケティング」です。これを無効にするオプションがあります。電子メールがトランザクションであることを示すSMTPヘッダーを電子メールに追加します。
JMailクラスでメールを送信しています。 X-MSYS-APIという名前のこの追加のsparkpostヘッダーを電子メールに追加します。これには、JSONデータとしてパラメーターを含めることができます。
ヘッダーに追加するオプションはoption.transactional:falseです。
X-MSYS-API: {
"campaign_id": "my_campaign",
"metadata" : {
"has_pets": true,
"pet_name": "Spot"
},
"cc": [
{ "email": "[email protected]", "name": "CC 1" },
{ "email": "[email protected]", "name": "CC 2" }
],
"bcc": [
{ "email": "[email protected]", "name": "BCC 1" }
{ "email": "[email protected]", "name": "BCC 2" }
],
"archive": [
{ "email": "[email protected]", "name": "Archive 1" }
{ "email": "[email protected]", "name": "Archive 2" }
],
"tags": [
"cat",
"dog"
],
"options" : {
"open_tracking": false,
"click_tracking": false,
"transactional": false,
"sandbox": false,
"skip_suppression": false,
"ip_pool": "sp_shared",
"inline_css": false
}
}
JMailはSMTPヘッダーの追加をサポートしていますか?
ああ、見つけました:AddCustomHeader()。出力は次のようになります。
$body = "Some content";
$mail = JFactory::getMailer();
$mail->addRecipient("[email protected]");
$mail->setBody($body);
$mail->setSender(array("[email protected]", "John Doe"));
$mail->setSubject("My Subject");
$data = array(
"options" => array("transactional" => "true")
);
$options = json_encode( $data );
$mail->AddCustomHeader("X-MSYS-API", $options);
$mail->Send();