在Yii php中使用我的助手时,发送电子邮件不起作用
我正在使用Yii框架,而我的问题可能是针对PHP专家的。 我已经创建了一个控制器来从我的web应用程序发送电子邮件,它工作得很好 考虑到这一点,我打算在我的应用程序中的几个Sontroller中使用电子邮件,我想创建一个助手,但这不起作用。未发送电子邮件。(我用的是swiftmailer) 工作控制器的代码如下所示:在Yii php中使用我的助手时,发送电子邮件不起作用,php,yii,Php,Yii,我正在使用Yii框架,而我的问题可能是针对PHP专家的。 我已经创建了一个控制器来从我的web应用程序发送电子邮件,它工作得很好 考虑到这一点,我打算在我的应用程序中的几个Sontroller中使用电子邮件,我想创建一个助手,但这不起作用。未发送电子邮件。(我用的是swiftmailer) 工作控制器的代码如下所示: <?php class MailController extends Controller { /** * Declares class-based ac
<?php
class MailController extends Controller
{
/**
* Declares class-based actions.
*/
public function actionSendemail() {
// Plain text content
$plainTextContent = "This is my first line ;-)\nThis is my second row of text";
// Get mailer
$SM = Yii::app()->swiftMailer;
// New transport mailHost= localhost, mailPort = 25
$Transport = $SM->smtpTransport(Yii::app()->params['mailHost'], Yii::app()->params['mailPort']);
// Mailer
$Mailer = $SM->mailer($Transport);
// New message
$Message = $SM
->newMessage('My subject')
->setFrom(array('test1@localhost.localdomain' => 'Example Name'))
->setTo(array('myemail@domain.com' => 'Recipient Name'))
// ->addPart($content, 'text/html')
->setBody($plainTextContent);
// Send mail
$result = $Mailer->send($Message);
}
}
当我运行此代码时,我没有错误,但我没有收到电子邮件
谢谢你的帮助。我发现了我的错误
config.php中的全局参数设置不正确
因此,我的hmailserver无法识别我在“发件人”字段中输入的内容,目前正在配置该内容test1@localhost.localdomain
很抱歉问你这个问题,谢谢
<?php
// protected/components/Email.php
class Email {
public static function sendEmail($subject, $from, $to, $body)
{
// Get mailer
$SM = Yii::app()->swiftMailer;
// New transport
$Transport = $SM->smtpTransport(Yii::app()->params['mailHost'], Yii::app()->params['mailPort']);
// Mailer
$Mailer = $SM->mailer($Transport);
// New message
$Message = $SM
->newMessage($subject)
->setFrom(array($from => 'Example Name'))
->setTo(array($to => 'Recipient Name'))
// ->addPart($content, 'text/html')
->setBody($body);
// Send mail
$result = $Mailer->send($Message);
}
}
$subject= 'My subject';
$from = Yii::app()->params['adminEmail']; // adminEmai is a globalparam like above controller
$to='xxxx@xxx.com';
$body='my body';
Email::sendEmail($subject, $from, $to, $body);