簡単なニュースレター フォームを作成する必要があります。このフォームは次のように機能します。
- ユーザーがメールを入力し、送信ボタンを押す
- ユーザーは、確認リンクが記載された電子メールのメッセージを受け取ります
- ユーザーがリンクをクリックすると、メールが受信者リストに追加されます
このフォームは EXM のヘルプで動作するはずです
サブスクリプション用のリンクを含むトリガー メッセージを EXM に作成しました。そして、ニュースレターの目標をトリガーするための送信ボタン用にこのコードを書きました
[HttpPost]
public ActionResult NewsletterSubscribe(NewsletterViewBag model)
{
var goal = Context.Database.GetItem(newsletterGoal);
if (goal == null)
{
continue;
}
var registerGoal = new Sitecore.Analytics.Data.Items.PageEventItem(goal);
var eventData = Tracker.Current.CurrentPage.Register(registerGoal);
eventData.Data = goal[DateTime.Now.ToString(CultureInfo.InvariantCulture)];
Tracker.Submit();
}
トリガーされたメッセージを NewsletterGoal に割り当てるにはどうすればよいですか? また、この方法で手動でメッセージを送信してみます:
MessageItem message = Sitecore.Modules.EmailCampaign.Factory.GetMessage(new ID(messageId));
Sitecore.Modules.EmailCampaign.AsyncSendingManager manager = new AsyncSendingManager(message);
var contactId = ClientApi.GetAnonymousIdFromEmail(email);
var recipientId = (RecipientId) new XdbContactId(contactId);
manager.SendStandardMessage(recipientId);
ログに次のエラーが表示されます。ただし、トリガーされたメッセージには受信者リストがありません