我联系了支持人员,他们告诉我我可以使用Clicktrack SMTP 过滤器 https://sendgrid.com/docs/for-developers/sending-email/smtp-filters/#filter-clicktrack与X-SMTPAPI
header.
有两个过滤器选项,一个是启用和禁用点击跟踪设置,另一个用于启用或禁用消息纯文本部分中的点击跟踪链接。
Sendgrid Python 客户端有帮助程序类 ClickTracking 来控制这些设置:
import json
import os
from sendgrid import SendGridAPIClient
from sendgrid.helpers.mail import *
sendgrid_client = SendGridAPIClient(os.environ.get('SENDGRID_API_KEY'))
from_email = Email("[email protected] /cdn-cgi/l/email-protection")
to_email = To("[email protected] /cdn-cgi/l/email-protection")
subject = "Sending with ClickTracking plain text disabled"
content = Content(MimeType.text, "Test URL: https://www.google.com")
message = Mail(from_email, to_email, subject, content)
tracking_settings = TrackingSettings()
tracking_settings.click_tracking = ClickTracking(enable=True, enable_text=False)
message.tracking_settings = tracking_settings
response = sendgrid_client.send(message=message)
print(response.status_code)
使用点击跟踪过滤器设置“X-SMTPAPI”标头的烧瓶邮件示例:
from flask_mail import Mail
from flask_mail import Message
mail = Mail(app)
subject = "Sending with clicktrack plain text disabled"
body = "Test URL: https://www.google.com"
headers = {"X-SMTPAPI": json.dumps({
"filters" : {
"clicktrack" : {
"settings" : {
"enable" : 1,
"enable_text" : False
}
}
}
})}
message = Message(subject=subject, body=body, extra_headers=headers)
mail.send(message)