【发布时间】:2015-10-06 09:44:01
【问题描述】:
我正在使用发送网格发送邮件。 这是我使用的脚本。
$url = 'https://api.sendgrid.com/';
$params = array(
'api_user' => 'xxx', // My send grid username
'api_key' => xxx', // My send grid password
'to' => tomail,
'subject' => 'sub',
'html' => 'message',
'from' => frommail,
);
$request = $url.'api/mail.send.json';
$session = curl_init($request);
curl_setopt ($session, CURLOPT_POST, true);
curl_setopt ($session, CURLOPT_POSTFIELDS, $params);
curl_setopt($session, CURLOPT_HEADER, false);
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($session);
curl_close($session);
一切正常,邮件发送成功。
我不想在不使用密码的情况下使用发送网格 API 密钥发送邮件。
我从 'app.sendgrid.com/settings/api_keys' 生成它,得到 api 密钥 id 和长密钥。
如何从 web api 调用中使用此密钥。我正在用新生成的api key name 和key 替换api_user 和api_keys,但邮件没有发送。
【问题讨论】:
-
我建议使用这个github.com/sendgrid/sendgrid-php。您可以使用
composer轻松安装它,向下滚动到“使用”部分,您将找到如何使用 api 密钥进行实例化。 -
它使用的是send php库,我没有使用这个。我只使用 curl。
-
好的,那为什么不使用这个库——它看起来确实比所有那些原始 curl 函数更容易使用。
-
另外请注意,Sendgrid 可以作为常规的 SMTP 邮件服务,常用的邮件库 phpMailer 或 Swiftmailer 也可以正常使用。