标签: sendgrid

使用 SendGrid 发送电子邮件需要很长时间

我在 asp.net mvc 中使用 SendGrid。我使用此代码发送电子邮件:

var myMessage = new SendGridMessage();
myMessage.From = new MailAddress("john@example.com");
myMessage.AddTo("testing@something.com");
myMessage.Subject = "Subject";

myMessage.Text = "testing";
var credentials = new NetworkCredential("*********@azure.com", "");
Web transportWeb = new Web(credentials);
await transportWeb.DeliverAsync(myMessage);
Run Code Online (Sandbox Code Playgroud)

问题是电子邮件大约需要 5 分钟才能到达目的地。这是正常情况吗?如果正常的话我该如何减少这个时间?

asp.net email azure sendgrid

9
推荐指数
0
解决办法
8699
查看次数

通过 SendGrid v3 发送 HTML 内容

我使用 GO,尝试通过 sendgrid API v3 发送邮件(https://github.com/sendgrid/sendgrid-go,无需邮件助手类)。但是当我使用这段代码时:

"content": [
    {
      "type": "text/html", 
      "value": "<html><head></head><body>Hello You link <a href="http://example.com/reschedule?id=12334">Click</a></body></html>"
    }
  ], 
Run Code Online (Sandbox Code Playgroud)

我收到错误:

第400章

但这段代码可以正常工作:

"content": [
    {
      "type": "text/html", 
      "value": "<html><head></head><body>Hello!</body></html>"
    }
  ], 
Run Code Online (Sandbox Code Playgroud)

我认为特殊字符有问题,但我该如何解决它?谢谢你!

email go sendgrid sendgrid-api-v3

9
推荐指数
1
解决办法
2万
查看次数

Sendgrid更改链接的href

我将Nodejs与Express结合使用,并且正在通过Sendgrid发送电子邮件,但是Sendgrid正在更改href链接

var emailText = '<!DOCTYPE html><html><head><meta charset="UTF-8"></head><body><a href="https://www.google.com">Here</a></body></html>'
var from_email = new helper.Email('contact@test.com');
var to_email = new helper.Email('contact@test2.com');
var subject = 'Test';
var content = new helper.Content("text/html", emailText)
var mail = new helper.Mail(from_email, subject, to_email, content);                                            
var request = sg.emptyRequest({
    method: 'POST',
    path: '/v3/mail/send',
    body: mail.toJSON(),
});
sg.API(request, function(error, response) {
    if (error) {
        console.log('Error response received');
    }
    console.log(response.statusCode);
    console.log(response.body);
    console.log(response.headers);
});
Run Code Online (Sandbox Code Playgroud)

当电子邮件到达时,将出现以下链接:

https://u4006412.ct.sendgrid.net/wf/click?upn=rOQ9fjZGp5r0JyNfoC02LbL.....

有人可以帮我解决这个问题吗?

email node.js sendgrid express

8
推荐指数
4
解决办法
3910
查看次数

带协议的Url.Action返回没有域的链接

我正在使用Url.Action生成一个绝对URL以通过电子邮件发送.链接在控制器内生成.

ConfirmLink = Url.Action(
    "ConfirmEmail",
    "Account",
    new { userId = user.Id, code },
    HttpContext.Request.Scheme
)
Run Code Online (Sandbox Code Playgroud)

出于某种原因,在本地,我有这样的结果:

http://localhost:5102/account/confirm-email?userId=10&code=CfDJ8JH5BJKUsPZDnCLwFc3HSEHfe9Fk00NHiJqk36VbvkDbbV39AI7HY5m9pXVItwYE9%2B9ElTcnBSZiDNQ%2FmO5lx1tSnuvDmhzdzGlCQCfPQVe%2B21Nw03uNuBWoO8HCVivqzfudti579bWiaLW6PuuQQimn449YymVjgV3R36HeQID26jTmAxizDTqOsF1%2FvQc5Zw%3D%3D
Run Code Online (Sandbox Code Playgroud)

但我在staging/prod中没有域/ https协议的结果:

http:///account/confirm-email?userId=10&code=CfDJ8JH5BJKUsPZDnCLwFc3HSEHfe9Fk00NHiJqk36VbvkDbbV39AI7HY5m9pXVItwYE9%2B9ElTcnBSZiDNQ%2FmO5lx1tSnuvDmhzdzGlCQCfPQVe%2B21Nw03uNuBWoO8HCVivqzfudti579bWiaLW6PuuQQimn449YymVjgV3R36HeQID26jTmAxizDTqOsF1%2FvQc5Zw%3D%3D
Run Code Online (Sandbox Code Playgroud)

我正在使用ASP .NET Core "Microsoft.AspNetCore.Mvc": "1.1.0".

应用程序发布到IIS.

c# sendgrid asp.net-core-mvc asp.net-core

8
推荐指数
1
解决办法
1284
查看次数

Sendgrid:使用模板版本支持多种语言

我想利用 Sendgrid 模板版本来支持多语言支持。

根据 Sendgrid文档

一个模板一次只能有一个活动版本。如果您创建了一个包含不同 HTML 的新版本,您希望客户开始接收该版本,则需要将该版本设为“活动”。

因此,例如我有 2 个版本的模板:English(active)Russian。因此,如果我想用俄语版本发送电子邮件,我需要在发送电子邮件之前激活俄语模板版本。

但我担心的是:如果我需要同时发送俄文和英文版本的电子邮件怎么办?Sendgrind 能否为 2 个同时请求提供合适的版本?

email sendgrid sendgrid-api-v3 sendgrid-templates

8
推荐指数
2
解决办法
5061
查看次数

错误配置用户 - 用户状态 - 暂停

我在 Heroku 中创建了一个新的 Sendgrid 插件:

heroku addons:create sendgrid:starter
Run Code Online (Sandbox Code Playgroud)

之后,我进入我的Sendgrid账户,它说我的账户被暂停(我刚刚创建,它是如何暂停的?)

所以,我有一个绝妙的主意(不是!):我已经删除了插件并尝试再次创建它。现在我从 Heroku 收到以下错误:

 An error was encountered when contacting the add-on partner to create sendgrid:starter: Error Provisioning User - User status - suspended
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

ruby-on-rails heroku sendgrid

8
推荐指数
1
解决办法
2652
查看次数

Rails 5.2 Net::SMTPAuthenticationError - 535 Authentication failed: account disabled When Sending Email (Localhost and Heroku)

I'm trying to get a Rails 5.2 mailer working, but am coming across a Net::SMTPAuthenticationError - 535 Authentication failed: account disabled error on both localhost and my Heroku production environment.

The mailer looks like this:

class AdminNotificationsMailer < ApplicationMailer
  default from: "liz@linchpinindustries.com"

  def new_rfp(rfp)
    @rfp = rfp
    mail(
      :to => "liz@linchpinindustries.com",
      :subject => 'New RFP Alert!'
    )
  end

  def new_contact_us(contact)
    @contact = contact
    mail(
      to: "liz@linchpinindustries.com",
      subject: 'New Contact Us Submission on LPI'
    )
  end

end
Run Code Online (Sandbox Code Playgroud)

With the trigger in …

ruby-on-rails sendgrid

8
推荐指数
2
解决办法
3521
查看次数

无法使用 Sendgrid Java API 发送 UTF-8 编码的电子邮件

我刚刚从 Mandrill 切换到 Sendgrid。使用标准 Sendgrid JAVA API 发送电子邮件时,电子邮件标题内容类型列为:

Content-Type: text/html; charset=iso-8859-1
Run Code Online (Sandbox Code Playgroud)

我一直无法找到将其更改为 UTF-8 的方法,这是我发送正确编码的电子邮件的要求。这在使用 Mandrill 时效果很好。通过 Mandrill 发送在内容类型标头中保持原始源编码不变。我当前的代码基本上是使用这个 Sendgrid 示例代码:https ://sendgrid.com/docs/for-developers/sending-email/v3-java-code-example/

环境:

  • JDK 1.8
  • sendgrid-java 4.48

我的源文件都是用 UTF-8 编码的,我的项目是通过 Maven 构建的,maven-compiler-plugin 设置为

<encoding>UTF-8</encoding>
Run Code Online (Sandbox Code Playgroud)

我发布到 Sendgrid 的消息正文是 HTML,并且在 head 元素中设置了以下内容类型:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Run Code Online (Sandbox Code Playgroud)

使用 Sendgrid 的结果是邮件在 Gmail 中被剪掉了。这似乎是由于冲突的编码类型。即“邮件”标头表示 iso-8859-1,即使实际内容是 UTF-8。如果我理解正确,结果是字符编码不正确。

注意:我发送的是挪威语字符 ÆØÅ。

我尝试将消息正文转换为 ASCII 和 iso-8859-1。这样做的结果是邮件在 Gmail 中不再被剪裁,而是将 ÆØÅ 字符替换为问号(我知道 US_ASCII 不支持 ÆØÅ 字符)。我还尝试使用以下代码覆盖 Sendgrid 标头:

mail.addHeader("Content-Type", "text/html; charset=UTF-8");
Run Code Online (Sandbox Code Playgroud)

但是那个键是保留的,不能被覆盖..

我还联系了 Sendgrid 支持。他们回复如下:

不幸的是,我们的系统将使用传递给我们的任何编码自动对正文进行编码。这意味着,如果该电子邮件中有 ISO-8859 字符的字符。然后身体将使用该编码。我们目前没有强制 UTF-8 编码通过我们传递的电子邮件正文的选项。 …

java email encoding utf-8 sendgrid

8
推荐指数
1
解决办法
1366
查看次数

API 密钥不以“SG”开头。发送网格

我正在尝试在 Heroku NodeJS 应用程序中设置 SendGrid 插件。我创建了 API 密钥并将其设置为环境变量。

整个 API 密钥类似于:SG.actualValue.bbb_cccccc

我做的第一个设置我将整个密钥设置为我的 SENDGRID_API_KEY 并且我收到了这个错误:

API 密钥不以 SG 开头。

因此,我意识到错误并取消设置环境变量并将其重新设置为整个键的 actualValue 部分。

但是,我仍然遇到相同的错误。我尝试再次做同样的事情或重新启动终端(实际上是整个笔记本电脑)。

这是我试图从 SendGrid 设置页面运行的测试代码:

const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(process.env.SENDGRID_API_KEY)
const msg = {
  to: 'test@example.com',
  from: 'test@example.com',
  subject: 'Sending with Twilio SendGrid is Fun',
  text: 'and easy to do anywhere, even with Node.js',
  html: '<strong>and easy to do anywhere, even with Node.js</strong>',
};
sgMail.send(msg);
Run Code Online (Sandbox Code Playgroud)

我尝试创建一个新密钥并进行设置,但出现相同的错误。我尝试将其设置为整个密钥,但没有“.SG”或只是 bbb_ccccc 部分。先感谢您。

javascript email heroku node.js sendgrid

8
推荐指数
3
解决办法
7529
查看次数

如何将 CNAME 记录添加到 Google Domain?

我刚刚注册了 SendGrid,我需要将这些(上图)SendGrid CNAME 记录添加到我的 Google 域中。问题是它没有告诉我在第一个字段(“@”)中放入什么。如果我将其留空,则会出现错误(见下图)。请帮忙。

PS:www根据Google Domains 帮助页面添加给我一个命名冲突,因为已经有一个带有www.

要安装的 SendGrid CNAME 记录 Google Domains 记录列表

email cname sendgrid google-domains

8
推荐指数
3
解决办法
2319
查看次数