現在、MailchimpのAPIをいじっていますが、ドキュメントはあまり明確ではありません。ここに私が実際に欲しいものがあります:
オプション1が不可能な場合でも、独自の環境で独自のテンプレートを作成し、そのテンプレートをMailchimpまたはMandrillで送信できますか?
これにMailchimpsサービスを使用するか、自分のサーバーから直接メールを送信する必要がありますか?
現在使用されている機能:
function tep_mandrill_mail($to_name, $to_email_address, $email_subject, $email_text, $from_email_name, $from_email_address) {
if (SEND_EMAILS != 'true') return false;
$uri = 'https://mandrillapp.com/api/1.0/messages/send-template.json';
$postString = '{
"key": "xxxxxxxxxxx",
"template_name": "sometemplatename",
"template_content": [
{
"name": "header",
"content": "*|HEADERSTUFF|*"
},
{
"name": "main",
"content": "*|CONTENTSTUFF|*"
},
{
"name": "footer",
"content": "*|FOOTERSTUFF|*"
}
],
"message": {
"subject": "'.$email_subject.'",
"from_email": "'.$from_email_adress.'",
"from_name": "'.$from_email_name.'",
"to": [
{
"email": "'.$to_email_address.'",
"name": "'.$to_name.'"
}
],
"important": false,
"track_opens": true,
"merge": true,
"merge_vars": [
{
"rcpt": "'.$to_email_address.'",
"vars": [
{
"name": "HEADERSTUFF",
"content": "'.$email_subject.'"
},
{
"name": "CONTENTSTUFF",
"content": "'.$email_text.'"
},
{
"name": "FOOTERSTUFF",
"content": "paulvale-foot"
}
]
}
],
"tags": [
"password_forgotten"
]
},
"async": false,
"ip_pool": "Main Pool"
}';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $uri);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postString);
curl_exec($ch);
}
あなたが話しているメールの種類は、「ニュースレター」メールではなく「トランザクション」メールです。メインのMailchimp製品は、ニュースレターを送信するためのもので、メーリングリストの全員にほぼ同じメールをすべて同時に送信します。トランザクションメールは、人々が必要とするときに送信され、サイトでのアクションによってトリガーされます。
Mailchimpの主な提供物は、ニュースレターの送信を対象としています。 Mandrill部門は、トランザクションメールを処理するように設定されています。このためにMailchimpを使用している場合、あなたは確かにMandrillを使用したいと思うでしょう。
テンプレートで機能するメールサービスを使用する場合、通常、テンプレートをサーバーに表示する必要はありません。次のようなテンプレートを設定します。
Hello $user,
Your new password is: $password
APIを使用して、メールをサービスに送信するために必要なデータを渡します。
mandrill->send(
"to" -> "[email protected]",
"template" -> "new password",
"user" -> "Bob",
"password" -> "GXFjTZNy"
);
私は特にMandrillに精通していないので、それらのAPI呼び出しとテンプレート構文は、私がここに投稿したものとは多少異なるように見えます。彼らはのためのドキュメントを持っています
Mandrill APIは、あなたのウェブサイトからのトランザクションEメールに適した選択肢であるように思えます。
事前にテンプレートを指定したくない場合は、アプリケーション 独自のテンプレートを追加 にすることができます。 利用可能なすべてのテンプレートを一覧表示 にする方法もあります。他に何もない場合は、 テンプレートをまったく使用せずにメールを送信する でした。