AWS SES SendRawEmailAsync not entertaining BCC

梦想的初衷 提交于 2019-12-02 02:10:44

So finally made it work by doing following 2 changes to code

1 - In SendMessageUsingAWSProfileAsync(, Remove the desintation as it does not entertain BCC

                var sendRequest = new SendRawEmailRequest(rawMessage)
                {
                    Source = mailMessage.From.Address, // Destionation is removed from here intenationally as it stop doing BCC

}

2 - In ConvertMailMessageToMemoryStream, Include BCC headers while creating the stream from mail message

// BCC is not included by default, so need to include it.
        if (message.Bcc.Count > 0)
        {
            MethodInfo writeHeadersMethod = mailWriter.GetType().GetMethod("WriteHeaders", BindingFlags.Instance | BindingFlags.NonPublic);
            System.Collections.Specialized.NameValueCollection bccHeaders = new System.Collections.Specialized.NameValueCollection();
            bccHeaders.Add("BCC", string.Join(",", message.Bcc.Select(b => b.Address)));
            writeHeadersMethod.Invoke(mailWriter, BindingFlags.Instance | BindingFlags.NonPublic, null, new object[] { bccHeaders, false }, null);
        }
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!