在我的index.php文件的顶部,我有:
require('sendgrid-php/SendGrid_loader.php');
在底部,我使用此代码发送电子邮件:
<?php
if(isset($_POST['submit']))
{
$sendgrid = new SendGrid('app11445063@heroku.com', 'password');
$mail = new SendGrid\Mail();
$mail->
addTo('email@gmail.com')->
setFrom('app11445063@heroku.com')->
setSubject('Subject goes here')->
setText('Hello World!')->
setHtml('<strong>Hello World!</strong>');
$sendgrid->
smtp->
send($mail);
}
?>
我无法获取发送电子邮件的代码。我有来自SendGrid和Heroku的正确帐户。所需文件位于我的目录中。我的所需文件路径是否错误?
答案 0 :(得分:1)
问题是SendGrid库不在Heroku的存储库中。只需执行“git status”并将目录添加到提交中,然后将目录推送到Heroku。确保PHP代码中的“include”中也有正确的路径。
答案 1 :(得分:0)
我认为这与Sendgrid's PHP lib有关。如果您使用的是SMTP(必须使用heroku),您还必须安装swiftmailer。否则第25行将无法在sendgrid-php / SendGrid / Smtp.php中运行
public function __construct($username, $password){
/* check for SwiftMailer,
* if it doesn't exist, try loading
* it from Pear
*/
if (!class_exists('Swift')) {
require_once 'swift_required.php';
}