标签: sendgrid-api-v3

有没有办法在从代码发送的电子邮件中添加个人资料图片

所以,我正在做的是使用 Sendgdrid 的 API(PHP API 库)来发送电子邮件。发送部分有效,我只是想稍微修改一下以添加更多自定义功能,但我不确定是否可能。我正在使用 CodeIgniter,因此我跳过了一些代码,但您已经了解了总体思路。

我想要实现的是自定义这部分

我要修改的示例

我希望公司徽标出现在那里,而不是自动生成的 A。

我想实现这个目标:

在此输入图像描述

我需要修改一些标头吗?

我的邮件发送流程是这样的(虚构数据):

$email = new \SendGrid\Mail\Mail(); 
$email->setFrom("noreply@mail.com", "Sender Name");
$email->setSubject("Mail Subject");
$email->addTo($mail_data->email, $mail_data->name);
$email->addContent(
    "text/html", $this->load->view('mails/recovery', $mail_data, TRUE)
);

$sendgrid = new \SendGrid($this->config->item('sendgrid_api_key'));

try {
    $response = $sendgrid->send($email);
    // do some stuff
} catch (Exception $e) {
    // do some other stuff
}
Run Code Online (Sandbox Code Playgroud)

所以邮件到达正确并且一切正常,但是有没有办法像邮件发件人的头像一样添加?比如公司的标志什么的。有没有办法通过代码来做到这一点?

我检查了一些关于创建谷歌帐户的信息,但是如果我使用的是noreply@地址怎么办?如果我使用不同的地址发送另一封邮件会怎样?我必须为每个帐户添加谷歌帐户吗?

php email twilio sendgrid sendgrid-api-v3

7
推荐指数
1
解决办法
4687
查看次数

Sendgrid v3 邮件返回 202 但电子邮件不发送

我正在尝试通过 Sendgrid 向已注册第一个的用户发送电子邮件验证。按照此处找到的 v3_mail 示例,我创建了以下实现:

const querystring = require('querystring');
const helper = require('sendgrid').mail;
const https = require('https');

const url = "http://<mywebsite.com>/users/reset/passwordLoggedOut?";
let sg = require('sendgrid')(process.env.SENDGRID_API_KEY);

const emails = {};

function sendMail(mail){
    const request = sg.emptyRequest({
       method: 'POST',
       path: '/v3/mail/send',
       body: mail.toJSON(),
    });

    sg.API(request, function(error, response) {
       console.log(response.statusCode);
       console.log(response.body);
       console.log(response.headers);
       console.log(error);
    });
}

emails.sendActivationEmail = function(user){
     let qso = {username: user.username, activationCode: user.activationCode};
     let qs = querystring.stringify(qso);
     let from = new helper.Email('Thomas.Talhelm@chicagobooth.edu');
     let to = new helper.Email(user.username);
     let subject …
Run Code Online (Sandbox Code Playgroud)

email node.js sendgrid sendgrid-api-v3

6
推荐指数
0
解决办法
3885
查看次数

SendGrid 电子邮件显示“已接受”但从未到达

我是 Sendgrid 的新手,并制作了一个小型控制台应用程序来测试它:

static void Main(string[] args)
{
    Execute().Wait();
}

static async Task Execute()
{
    try
    {
        var apiKey = "XX.XXXXXX-R-XXXXXX_XXXXX.XXXXXXXXXXXXXXXXX_XXXXXXXXXXXXXXXXXXXXXX";
        var client = new SendGridClient(apiKey);
        var from = new EmailAddress(xxxxxxxx@xxxxxxx.com", "Me");
        var subject = "Test";
        var to = new EmailAddress("xxxxxxxx@xxxxxxx.com", "You");
        var plainTextContent = "Test";
        var htmlContent = "Test";
        var msg = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent);
        var response = await client.SendEmailAsync(msg);
        Console.WriteLine(response.StatusCode);
        Console.WriteLine(response.Body.ReadAsStringAsync().Result);
        Console.WriteLine(response.Headers.ToString());
        Console.Read();
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.ToString());
        Console.Read();
    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到的输出表明它已被接受(没有错误,并且 StatusCode 被接受):

Accepted …
Run Code Online (Sandbox Code Playgroud)

.net c# sendgrid sendgrid-api-v3

6
推荐指数
0
解决办法
1987
查看次数

Sendgrid 未收到 Sendgrid 入站解析 Webhook 电子邮件

我正在使用 SendGrid 接收来自我的域 (example.com) 的电子邮件。我已经从提到的链接Sendgrid Inbound Parse Webhook配置了所有步骤。

我已针对我的域在 GoDaddy DNS 记录中添加了所有名称记录(MX 记录和 CNAMES)。

问题是当我向 hello@example.com 发送电子邮件时。当电子邮件发送到此电子邮件 ID 时,没有邮件传递失败报告。SendGird 控制台没有关于 webhook 被触发的任何统计信息。

我无法弄清楚这个过程中出了什么问题。因为没有收到 sendgrid webhook 中的电子邮件。

我认为他们在两者之间迷失了。

node.js sendgrid sendgrid-api-v3 sendgrid-api-v2

6
推荐指数
2
解决办法
3094
查看次数

如何允许动态 Sendgrid 事务模板的模板数据中包含 html?

也许我在这里没有看到显而易见的事情。我正在使用这个库来发送邮件。我还使用交易模板

一个快速的代码示例:

var msg = new SendGridMessage {From = new EmailAddress("my@email.com")};
var personlization = new Personalization {Tos = new List<EmailAddress> {new EmailAddress("some@email.com")}};
dynamic t = new System.Dynamic.ExpandoObject();
t.firstname = "John";
t.lastname = "Doe";
t.message = "a <br/> line <br/> break";
msg.TemplateId = "abcdefg";
personlization.TemplateData = t;
msg.Personalizations = new List<Personalization> {personlization};

var response = await client.SendEmail(msg);
Run Code Online (Sandbox Code Playgroud)

我可以了解如何使用htmlContentprop 手动添加内容、文本或 html,但在本例中我使用的是事务模板。

在上面的示例中,电子邮件通过 html 编码而不是创建换行符,并且我希望个性化为 html。另外,模板是html。

c# sendgrid sendgrid-api-v3 sendgrid-templates

6
推荐指数
1
解决办法
5724
查看次数

某些邮件通过 Sendgrid 发送电子邮件失败 - 无法获取 mx 信息:无法从 PTR 记录获取 IP:查找 &lt;nil&gt;:无法识别的地址

根据如何从 Azure 函数应用发送电子邮件,我们无法直接从 Azure 函数发送电子邮件,因此我们使用 SendGrid API 发送电子邮件。(SendGrid 似乎对我们很有效,我们通过 Azure 订阅获得了一个免费帐户)

虽然大多数电子邮件都可以正常发送,但有少数电子邮件没有送达。SendGrid 活动提要显示Block这些的状态。详细的错误信息是

unable to get mx info: failed to get IPs from PTR record: lookup <nil>: unrecognized address
Run Code Online (Sandbox Code Playgroud)

Sendgrid 活动显示,包括错误消息详细信息

由于大多数电子邮件确实会发送出去,因此我们认为这不是我们代码的问题。我们已经完成了 SendGrid 域身份验证步骤,验证了我们的域,将 DKIM 密钥添加到我们的 DNS,并将 SendGrid 主机添加到我们的 SPF 条目。但是,有一些不起作用,我们似乎无法在 SendGrid 帮助中找到有关我们错误的任何内容。

我们使用的代码 (Python) 主要取自SendGrid python 示例,以防万一它有帮助,但是在我们发送时不会报告任何错误。

from sendgrid import SendGridAPIClient
from sendgrid.helpers.mail import Mail

def sendEmail(toaddress, subject, message):
   logging.info("Sending email to <%s> - %s", toaddress, subject)

   message = Mail(
      from_email=settings.emailFrom(),
      to_emails=toaddress,
      subject=subject, …
Run Code Online (Sandbox Code Playgroud)

python sendgrid sendgrid-api-v3

6
推荐指数
1
解决办法
8432
查看次数

SendGrid 多个子域的入站解析

我正在使用 sendgrid 来接收电子邮件。但我想知道我是否可以为所有子域设置一个入站解析设置。例如,我们将为所有用户提供不同的子域电子邮件

用户 1:- 用户名@user1.domain.com

用户 2 :- username2@user2.domain.com

用户 3 :- username3@user3.domain.com

....所有用户都将遵循相同的规定

根据文档,我必须为每个子域添加不同的入站解析,这是一件有点复杂的事情。

有什么办法可以克服这个问题吗?例如,对所有子域进行单个入站解析(receivingdomain :- *.domain.com, url :- https://url.com

如果你能给我一点帮助,我将不胜感激

email subdomain sendgrid sendgrid-api-v3

6
推荐指数
0
解决办法
578
查看次数

SendGrid API v3:回复线程

我正在尝试使用 SendGrid v3 API 发送一封电子邮件作为对上一个线程的回复。但它始终在 Outlook 中显示为新的电子邮件线程。我正在使用“Message-ID”、“In-Reply-To”和“References”字段,但它总是无法在单线程下显示。我在这里引用这个线程来设置标题。

SendGrid 文档没有指定 v3 是否支持回复上一个线程。任何实现电子邮件线程对话的方式都是值得赞赏的。

c# sendmail email-threading sendgrid-api-v3 .net-standard-2.0

6
推荐指数
1
解决办法
2227
查看次数

Sendgrid v3 mail/send:是否可以发送幂等请求?

使用SendGrid 的 v3 API是否可以发送幂等请求?我正在开发一个系统,该系统可能会导致多次尝试发送同一封电子邮件,因此如果我们能够以某种方式(例如,在请求中传递唯一的 ID)并使用“如果您忽略此请求”的逻辑,将会很有帮助。已经处理了具有相同唯一 ID 的请求”?

twilio sendgrid sendgrid-api-v3

6
推荐指数
1
解决办法
622
查看次数

如何使用 SendGrid v3 API 更改收件人的电子邮件地址?

我正在尝试使用 Sendgrid v3 API 更改现有收件人的电子邮件地址。

使用此示例:更新收件人 [PATCH],我可以更新除电子邮件地址之外的所有内容。但是,如果我输入一个新的电子邮件地址,它将作为新的电子邮件地址插入,而旧的电子邮件地址仍保留在原始收件人处。

API 是否支持此功能?如果支持,是如何实现的?

sendgrid-api-v3

5
推荐指数
0
解决办法
274
查看次数