我配置了SPF和TXT记录.当我检查SPF记录语法时.它说PermError SPF永久错误:DNS查找太多.
v=spf1 include:_spf.google.com include:netcore.co.in ~all
Run Code Online (Sandbox Code Playgroud)
我的电子邮件也在垃圾邮件中登陆.
1)我在共享主机上,我没有配置专用的IP和DKIM.实际上我不发送垃圾邮件触发单词的电子邮件.因为我在共享主机上.共享主机上是否有其他可能发送电子邮件导致我的电子邮件在垃圾邮件中登陆.
2)我使用netcore.co.in发送群发邮件.和google.com从gmail发送邮件.我也正确配置了MX记录.我已经提到谷歌MX记录但不是netcore.net MX记录.我正在使用sendgrid的免费smtp服务器从我的java网络应用程序发送电子邮件.我没有在spf记录中提到过.SPF记录是否导致垃圾邮件问题.
我正在按照本教程使用SendGrid从我的Azure Web角色发送电子邮件.
这是教程中的相关部分:
// Create credentials, specifying your user name and password.
var credentials = new NetworkCredential("username", "password");
// Create an REST transport for sending email.
var transportREST = REST.GetInstance(credentials);
// Send the email.
transportREST.Deliver(myMessage);
Run Code Online (Sandbox Code Playgroud)
在我看来,该transportREST.Deliver功能是同步的.由于它正在执行IO,我更喜欢使用新的.NET 4.5 异步,而是等待(我的所有其他代码都是完全异步的).这可能吗?是否有SendGrid的异步API或某种方式来包装现有的调用?
是否可以配置发送网格帐户,我可以指定多个发布事件URL事件通知.或者也许可以添加多个事件通知应用程序?
我正在尝试将PDF文件附加到sendgrid发送的电子邮件中.
这是我的代码:
sg = sendgrid.SendGridAPIClient(apikey=os.environ.get('SENDGRID_API_KEY'))
from_email = Email("from@example.com")
subject = "subject"
to_email = Email("to@example.com")
content = Content("text/html", email_body)
pdf = open(pdf_path, "rb").read().encode("base64")
attachment = Attachment()
attachment.set_content(pdf)
attachment.set_type("application/pdf")
attachment.set_filename("test.pdf")
attachment.set_disposition("attachment")
attachment.set_content_id(number)
mail = Mail(from_email, subject, to_email, content)
mail.add_attachment(attachment)
response = sg.client.mail.send.post(request_body=mail.get())
print(response.status_code)
print(response.body)
print(response.headers)
Run Code Online (Sandbox Code Playgroud)
但是Sendgrid Python库抛出错误HTTP Error 400:Bad Request.
我的代码出了什么问题?
我已按照如何使用SendGrid与Azure发送电子邮件的说明在Azure上设置SendGrid帐户.当我使用NuGet获取SendGrid包时,它是一个更新的版本(8.0.5 vs 6.3.4),因此实际发送电子邮件的示例不再有效.
所以,我转到了GitHub页面并查看了"快速入门"部分,看看新的api是如何工作的,我被卡住了 - 在世界上哪里可以找到/获取我的SendGrid api密钥?在我的Azure SendGrid帐户页面上找不到它.
该SendGrid API密钥文档页面对API密钥管理的一些信息,但它相对于Azure的毫无意义使.
我正在使用 SendGrid 在发送、单击电子邮件等时接收事件通知。
他们给了我这个“验证”密钥,并说他们使用 ECDSA 来生成公钥/私钥对。他们给了我一把钥匙,但没有告诉我它是什么,我假设它是公钥。
因此,当发送数据时,他们给我一个带有时间戳和正文的签名。
我有以下 NodeJS 代码,但真的不知道如何解决这个问题。缓冲区中的示例对象是 SG 发送的内容。
const ts = res.headers["X-Twilio-Email-Event-Webhook-Timestamp"];
const msg = Buffer.of(ts, [
{
"email": "iekchimzie1@gmail.com",
"event": "open",
"ip": "66.249.93.222",
"sg_content_type": "html",
"sg_event_id": "fRVFj9NaRPuLtgrTJcRZYA",
"sg_message_id": "DZqeK1BjQN-5yOUCykR7WQ.filterdrecv-p3iad2-8ddf98858-xxtk7-19-5EC1C6BE-4F.0",
"sg_template_id": "d-31ad8dd470384ad1aa6f4dc557f7ee65",
"sg_template_name": "Untitled_11565020537169",
"timestamp": 1590198073,
"useragent": "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)"
}
]);
const shaMsg = crypto.createHash('sha256').update(msg).digest()
const isValid = ecdsa.verify(shaMsg, evSig, SG_WEBHOOK_V_KEY);
Run Code Online (Sandbox Code Playgroud) 我在 Heroku 上托管我的 Rails 应用程序,并使用带有入门计划的 SendGrid 附加组件发送邮件,并且它在 5 月 18 日之前运行良好。
但是,这几个月,所有邮件(包括几封邮件)均被阻止,并显示消息“已达到最大队列时间”。任何人都知道发生了什么事以及如何解决。
我在 Heroku 的开发中心和 google 中找不到信息。 https://devcenter.heroku.com/articles/support-channels
谢谢
我正在探索在我的一个项目中使用 SendGrid,我已按照此处的指南进行操作:https://learn.microsoft.com/en-us/aspnet/core/security/authentication/accconfirm ?view=aspnetcore-5.0&tabs=视觉工作室
设置完这些内容后,当我发送电子邮件时,它们卡在了这一点:
我尝试发送到 Gmail 的其他邮件很少,它们仍处于待处理状态。
正如标题所述...我的 Azure 门户中的 sendgrid 丢失,我没有收到任何有关此问题的通知。有谁知道发生了什么事吗?我搜索了该资源,但它不在那里,但建议我获取 sendgrid twilio。
奇怪的是我的功能应用程序仍然链接到 sendgrid 并且我无法访问它。我还有一个 sendgrid 函数 url...
有什么想法吗?
我有一个 Twilio sendgrid 帐户,但没有收到 2FA 消息 - 我不知道原因。
根据: https: //support.sendgrid.com/hc/en-us ,系统指示我单击“登录时遇到问题?” 并从我无法登录的四个原因中选择一个。
所有这四个原因都会立即导致登录屏幕
因此,总而言之,如果您在登录时遇到问题,您需要先登录才能获得帮助。
这实在是太可笑了,以至于我认为我有错。这是我的错误——不可思议的是,sendgrid 帮助/支持页面实际上是这样工作的。
我的错误是什么?谢谢。