我正在尝试在yii php框架中使用SendGrid发送邮件。
下面是我发送邮件的操作代码:
public function actionSendmail()
{
Yii::setPathOfAlias('Libs', Yii::app()->basePath.'/lib');
Yii::setPathOfAlias('SendGrid', Yii::app()->basePath.'/lib/sendgrid-php/SendGrid');
Yii::import('SendGrid.*');
Yii::import('Libs.sendgrid-php.SendGrid', true);
$sendgrid = new SendGrid('uname', 'pwd');
$mail = new SendGrid\Mail();
$mail->addTo('to-email')->
setFrom('from-email')->
setSubject('Subject goes here')->
setText('Hello World!')->
setHtml('<strong>Hello World!</strong>');
$sendgrid->smtp->send($mail);
$this->render('mail');
}
显示错误:
使用未定义的常量ROOT_DIR -假定为“ROOT_DIR”
/var/www/apsiap/受保护的/lib/发送网格-php/发送网格/SMTP.php(18)
06 {
07 //the available ports
08 const TLS = 587;
09 const TLS_ALTERNATIVE = 25;
10 const SSL = 465;
11
12 //the list of port instances, to be recycled
13 private $swift_instances = array();
14 protected $port;
15
16 public function __construct($username, $password)
17 {
18 require_once ROOT_DIR . 'lib/swift/swift_required.php';
19 call_user_func_array("parent::__construct", func_get_args());
20
21 //set the default port
22 $this->port = Smtp::TLS;
23 }
24
25 /* setPort
26 * set the SMTP outgoing port number
27 * @param Int $port - the port number to use
28 * @return the SMTP object
29 */
30 public function setPort($port)
如何解决这一问题?
3条答案
按热度按时间q9rjltbz1#
明白了:
iklwldmw2#
你有机会看一下下面的链接吗?主要的问题似乎是你导入SendGrid库的方式。
xoshrz7s3#
你不应该以那种方式使用SendGrid,你必须配置一个类或下载一个现有的扩展,并设置为一个邮件组件,然后你就可以轻松地发送电子邮件。
不要重复发明轮子:)