至少有两种使用SendGrid从Nodejs发送电子邮件的方法:
编辑2
所以,如果你现在开始一个项目,我会建议使用sendgrid-nodejs.
原始问题:
编辑以减少基于意见的问题:每种方法的优缺点是什么?我用谷歌搜索了几天,没看到两者的比较.还有另一个StackOverflow 问题要求区分两者(在其他几件事情中)没有得到答复.所以肯定这个问题的答案将有助于其他人.
我的具体用法,如果它有助于集中答案:我想允许iPhone应用程序的用户邀请其他人使用该应用程序.他们会在应用中看到默认的邀请文字,并可以对其进行自定义.自定义文本将发送到我的Nodejs服务器并添加到作业队列.处理队列时,会发送电子邮件.我希望电子邮件看起来不错,所以我想使用HTML电子邮件模板(以及明文交替主体).
在规模方面,这将开始非常小,但如果应用程序是succssful可以迅速扩大.
我最近想知道如何通过电子邮件即服务应用程序(如sendgrid或mandrill等)发送只有Javascript等前端语言的电子邮件.
Sendgrid和mandrill有Curl APIS,所以基本上我只能向他们的API发送一个AJAX发布请求来发送邮件,但问题是,我将把我的API密钥放在JS文件中,这意味着它将是公开的. ..虽然它应该是秘密的.
在这两个应用程序中,有关前端使用的文档中没有任何内容,除了拥有自己的将使用API的服务器,但我目前正在基于前端的项目.没有服务器编程,服务器只渲染资产.
你们知道这种方法或应用程序能够实现这一目标吗?谢谢
我正试图让sendgrid的基本"hello world"工作,但到目前为止还没有成功.响应返回代码202,表明它将发送电子邮件,但电子邮件永远不会发送.有谁知道发生了什么?
import sendgrid
sg = sendgrid.SendGridAPIClient(apikey='**my-api-key**')
data = {
"personalizations": [
{
"to": [
{
"email": "me@gmail.com"
}
],
"subject": "Hello World from the SendGrid Python Library!"
}
],
"from": {
"email": "me@gmail.com"
},
"content": [
{
"type": "text/plain",
"value": "Hello, Email!"
}
]
}
response = sg.client.mail.send.post(request_body=data)
print(response.status_code)
Run Code Online (Sandbox Code Playgroud) 我有一个带有 SendGrid 集成的 PHP Web 应用程序,用于传入(解析 webhook)和传出邮件(mail()带有邮件代理系统配置的PHP )。目前,我们的传入邮件系统由一个端点组成,它将所有联系电子邮件保存到我们的数据库中。我们还希望有一些直接的电子邮件转发映射到其他邮件提供商(如 ceo@mysite.com => my.address@example.com)。
据我所知,在 SendGrid 端没有电子邮件路由或使用 SMTP 协议转发它们,只有简单的 API 调用连接到我们的端点。创建指向我们 IP 地址的 MX 记录不是一种选择,因为我们不想向公众透露我们服务器的原始 IP 地址(DDoS 风险)。
我应该只编写代码来获取电子邮件的内容并mail()转发吗?一些数据会丢失,但在大多数情况下它应该可以工作。或者有没有办法连接 Gmail Business 帐户之类的东西来侦听这些特定地址的邮件?
我在Heroku上使用SendGrid作为我的Rails应用程序.我测试了注册过程.我看到电子邮件在SendGrid中创建并发送.电子邮件出现在我的Gmail收件箱中.但当我点击电子邮件中的"激活"链接时,我收到以下错误.在我收到电子邮件并点击链接后,我注意到即使我只点击了几次,在sendgrid中出现了一长串"点击"活动.我注意到每次点击似乎都会在sendgrid中生成三个"点击"活动.不知道这是不是一个线索.
sendgrid.net发送了无效的回复.ERR_INVALID_REDIRECT
SendGrid 的自动化安全性通过 CNAME 记录自动执行 SPF 和 DKIM。它甚至允许直接使用域名注册商拥有我们自己的 SPF 和 DKIM 记录。
他们如何做到这一点而不与现有 SPF 和 DKIM 记录串通代替域?
我想使用SendGrid API为我的"from"字段添加一个名称,但我不知道如何做到这一点.我尝试将"from"参数设置为sendgrid.send,Name <example@example.com>但这不起作用.谢谢.
我使用Action Mailer和Sendgrid在Heroku上运行Rails 3.2应用程序以发送单个交易电子邮件.目前,当应用程序发送电子邮件时,Sendgrid不会收到请求,要求发送11分钟.在收件箱中查看收到的电子邮件时,时间将显示收到的时间,但如果您打开电子邮件,则会有时间(提前11分钟)生成电子邮件请求.这就是我在production.rb中所拥有的:
ActionMailer::Base.smtp_settings = {
:address => 'smtp.sendgrid.net',
:port => '587',
:authentication => :plain,
:user_name => ENV['SENDGRID_USERNAME'],
:password => ENV['SENDGRID_PASSWORD'],
:domain => 'heroku.com',
:enable_starttls_auto => true
}
config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
Run Code Online (Sandbox Code Playgroud)
我从来没有遇到过Rails 4.0应用程序的这个问题,所以这是Rails 3.2的一个已知问题吗?
我似乎无法找到关于如何将Sendgrid Web API集成到Ruby on Rails应用程序的分步教程.我对此很陌生,所以也许我错过了一些明显的东西.
我想使用Sendgrid Web API而不是smtp传递方法(mailgun在这里讨论了Web API对SMTP方法的好处:https://documentation.mailgun.com/quickstart-sending.html ,我是认为Sendgrid会有相同的好处,或者我可能会在以后切换到mailgun).
安装sendgrid gem(https://github.com/sendgrid/sendgrid-ruby)后,文档告诉我"使用SendGrid API Key创建一个新客户端",我可以通过两种方式完成:
require 'sendgrid-ruby'
# As a hash
client = SendGrid::Client.new(api_key: 'YOUR_SENDGRID_APIKEY')
# Or as a block
client = SendGrid::Client.new do |c|
c.api_key = 'YOUR_SENDGRID_APIKEY'
end
Run Code Online (Sandbox Code Playgroud)
具体在我的应用程序中,我应该把这段代码?我应该把它放在我的邮件程序,我的应用程序邮件程序或config/environments/production.rb文件中吗?
我看了一下本教程,介绍了如何设置Mailgun API:https://launchschool.com/blog/handling-emails-in-rails
根据本教程,看起来该行client = SendGrid::Client.new(api_key: 'YOUR_SENDGRID_APIKEY')实际上应该进入邮件程序方法本身.请参阅下面的launchschool.com示例(可能会使用sendgrid信息替换mailgun特定信息):
class ExampleMailer < ActionMailer::Base
def sample_email(user)
@user = user
mg_client = Mailgun::Client.new ENV['api_key']
message_params = {:from => ENV['gmail_username'],
:to => @user.email,
:subject => 'Sample Mail using Mailgun …Run Code Online (Sandbox Code Playgroud) 不幸的是,没有人回应我的支持票,所以我认为这是一个需要有 sendgrid 经验的人的问题
复制很简单:
做了域认证和链接品牌
将所有必要的记录添加到我的 DNS 配置中
所有在 SendGrid 仪表板中验证。
尝试发送电子邮件并单击它给我的链接
sendgrid ×10
email ×4
heroku ×2
node.js ×2
actionmailer ×1
devise ×1
dkim ×1
frontend ×1
javascript ×1
mailgun ×1
nodemailer ×1
php ×1
spf ×1
web-frontend ×1