如何从 SendGrid 转发电子邮件
How to forward emails from SendGrid
概览:
我们的用例涉及使用 SendGrid 入站解析来接受、记录和处理电子邮件。我们还需要将这些电子邮件转发到我们的票务系统(即 Zoho Desk)。
我们非常希望能够将未经编辑的电子邮件转发到 Zoho Desk,同时保留原始发件人、收件人等。
问题:
当我们尝试使用 SendGrid 的 SMTP 服务器转发电子邮件并使用 MimeKit.MimeMessage.ResentTo("emailchannel@account.zohodesk.com") 选项时,SendGrid 因“发件人身份验证”而拒绝转发请求.我们从 SendGrid 得到的错误是:
The from address does not match a verified Sender Identity. Mail cannot be sent until this error is resolved. Visit https://sendgrid.com/docs/for-developers/sending-email/sender-identity/ to see the Sender Identity requirements.
下面是我们使用的代码:
SmtpClient cli = new SmtpClient();
cli.Connect(_config["SendGrid:Server"], int.Parse(_config["SendGrid:Port"]), true);
cli.Authenticate(_config["SendGrid:Username"],_config["SendGrid:ApiKey"]);
message.ResentSender = null;
message.ResentFrom.Clear();
message.ResentReplyTo.Clear();
message.ResentTo.Clear();
message.ResentCc.Clear();
message.ResentBcc.Clear();
message.ResentFrom.Add(MailboxAddress.Parse(_config["SendGrid:From"]));
message.ResentReplyTo.AddRange(message.ResentFrom);
message.ResentTo.AddRange(from o in matches
select MailboxAddress.Parse((string)o.ticket_addr));
message.ResentMessageId = MimeUtils.GenerateMessageId();
message.ResentDate = DateTimeOffset.Now;
cli.Send(message);
问题:
- 有没有一种方法可以使用 SendGrid 将入站电子邮件转发到 Zoho Desk,同时保留发件人字段?
- 我想 SendGrid 并不是唯一一家需要发件人身份验证的公司,因此,我们还能如何将未经编辑的电子邮件转发到票务平台?
此处为 Twilio SendGrid 开发人员布道师。
SendGrid 确实需要您通过 Single Sender Verification or Domain Authentication 验证您希望发送电子邮件的电子邮件地址。因此您不能使用 SendGrid 自动转发保持发件人电子邮件不变。
虽然我有一些关于解决方法的想法。
您可以从经过验证的电子邮件地址转发,并在回复字段中添加原始发件人电子邮件地址。我没有使用过 Zoho Desk,但也许您可以将其配置为尊重该字段而不是来自。
Zoho 有一个 guide on how to set up forwarding from various inboxes。您能否通过这些提供商之一托管您的电子邮件,并将收到的电子邮件转发到 Zoho 和您的 SendGrid 电子邮件地址以进行此处理?
概览:
我们的用例涉及使用 SendGrid 入站解析来接受、记录和处理电子邮件。我们还需要将这些电子邮件转发到我们的票务系统(即 Zoho Desk)。
我们非常希望能够将未经编辑的电子邮件转发到 Zoho Desk,同时保留原始发件人、收件人等。
问题:
当我们尝试使用 SendGrid 的 SMTP 服务器转发电子邮件并使用 MimeKit.MimeMessage.ResentTo("emailchannel@account.zohodesk.com") 选项时,SendGrid 因“发件人身份验证”而拒绝转发请求.我们从 SendGrid 得到的错误是:
The from address does not match a verified Sender Identity. Mail cannot be sent until this error is resolved. Visit https://sendgrid.com/docs/for-developers/sending-email/sender-identity/ to see the Sender Identity requirements.
下面是我们使用的代码:
SmtpClient cli = new SmtpClient();
cli.Connect(_config["SendGrid:Server"], int.Parse(_config["SendGrid:Port"]), true);
cli.Authenticate(_config["SendGrid:Username"],_config["SendGrid:ApiKey"]);
message.ResentSender = null;
message.ResentFrom.Clear();
message.ResentReplyTo.Clear();
message.ResentTo.Clear();
message.ResentCc.Clear();
message.ResentBcc.Clear();
message.ResentFrom.Add(MailboxAddress.Parse(_config["SendGrid:From"]));
message.ResentReplyTo.AddRange(message.ResentFrom);
message.ResentTo.AddRange(from o in matches
select MailboxAddress.Parse((string)o.ticket_addr));
message.ResentMessageId = MimeUtils.GenerateMessageId();
message.ResentDate = DateTimeOffset.Now;
cli.Send(message);
问题:
- 有没有一种方法可以使用 SendGrid 将入站电子邮件转发到 Zoho Desk,同时保留发件人字段?
- 我想 SendGrid 并不是唯一一家需要发件人身份验证的公司,因此,我们还能如何将未经编辑的电子邮件转发到票务平台?
此处为 Twilio SendGrid 开发人员布道师。
SendGrid 确实需要您通过 Single Sender Verification or Domain Authentication 验证您希望发送电子邮件的电子邮件地址。因此您不能使用 SendGrid 自动转发保持发件人电子邮件不变。
虽然我有一些关于解决方法的想法。
您可以从经过验证的电子邮件地址转发,并在回复字段中添加原始发件人电子邮件地址。我没有使用过 Zoho Desk,但也许您可以将其配置为尊重该字段而不是来自。
Zoho 有一个 guide on how to set up forwarding from various inboxes。您能否通过这些提供商之一托管您的电子邮件,并将收到的电子邮件转发到 Zoho 和您的 SendGrid 电子邮件地址以进行此处理?