Php 使用zend/mail发送电子邮件
我想在zend framework 2中使用zend/mail发送电子邮件。 我已经有一些代码,但我不知道放在哪里,也不知道如何触发它Php 使用zend/mail发送电子邮件,php,email,zend-framework2,Php,Email,Zend Framework2,我想在zend framework 2中使用zend/mail发送电子邮件。 我已经有一些代码,但我不知道放在哪里,也不知道如何触发它 $mail = new Mail\Message(); $mail->setBody('This is the text of the email.'); $mail->setFrom('email@hotmail.be', 'email'); $mail->addTo('email@hotmai
$mail = new Mail\Message();
$mail->setBody('This is the text of the email.');
$mail->setFrom('email@hotmail.be', 'email');
$mail->addTo('email@hotmail.be', 'email');
$mail->setSubject('Dit is een email verzonden van de computer');
$transport = new Mail\Transport\Sendmail('-freturn_to_email@hotmail.be');
$transport->send($mail);
我还是Zend framework 2的新手
有人能帮我吗 您可以在zend目录中使用它
$mail = new Zend_Mail();
$mail->setBodyText('This is the text of the mail.');
$mail->setFrom('somebody@example.com', 'Some Sender');
$mail->addTo('somebody_else@example.com', 'Some Recipient');
$mail->setSubject('TestSubject');
$mail->send();
我建议你去看看。请注意,我是Soflomo mail的作者,但它在发送邮件方面对您有很大帮助。它简化了配置和依赖的麻烦 在
composer.json
文件中放入“soflomo/mail”:“~0.3”
,然后运行以下命令:
php composer.phar update soflomo/mail
接下来,在application.config.php
中启用模块Soflomo\Mail
。当您使用Zend\Mvc时,您将拥有一个控制器/操作,该控制器/操作将触发电子邮件。对于最简化的用例,您可以执行以下操作:
公共函数doAction()
{
//你的一些逻辑
$service=$this->getServiceLocator()->get('Soflomo\Mail\service\MailService');
$service->send(数组)(
'到'=>'email@hotmail.be',
'收件人姓名'=>'电子邮件',
'来自'=>'email@hotmail.be',
'发件人姓名'=>'电子邮件',
“主题”=>“它甚至是电子邮件verzonden van de computer”,
'模板'=>'邮件/消息/默认'
));
}
现在,Soflomo\Mail通过呈现模板发送消息,并将其用作消息文本。在这里,我定义了一条消息mail/message/default
,因此使用以下内容创建该文件(例如module/Application/view/mail/message/default.phtml
):
This is the text of the email.
最后要做的是配置Soflomo/Mail发送消息的方式。您的问题使用Sendmail,因此我在本例中也使用了它。在config/autoload中创建一个配置文件,例如config/autoload/soflomo_mail.global.php
,其中包含以下内容:
return array(
'soflomo_mail' => array(
'transport' => array(
'type' => 'sendmail',
),
),
);
如果您想切换到例如GMail作为传输层,请将上述配置替换为:
return array(
'soflomo_mail' => array(
'transport' => array(
'type' => 'smtp',
'options' => array(
'name' => 'gmail.com',
'host' => 'smtp.gmail.com',
'port' => 587,
'connection_class' => 'login',
'connection_config' => array(
'ssl' => 'tls',
'username' => '%USERNAME%',
'password' => '%PASSWORD%',
),
),
'variables' => array(
'username' => '',
'password' => '',
),
),
),
);
并创建一个新文件config/autoload/soflomo_mail.local.php
:
return array(
'soflomo_mail' => array(
'transport' => array(
'variables' => array(
'username' => 'my-address@gmail.com',
'password' => '1234secure7890',
),
),
),
);
我想Hotmail和GMail很相似。你能解释一下你的问题是什么吗?你试过什么?您是否使用Zend\Mvc?你只使用一个小的php脚本吗?你的目标是什么?问题是它不发送电子邮件。是的,我正在使用Zend\Mvc。我现在只是想发一封简单的电子邮件。之后,它必须在一天中的特定时间发送电子邮件。但现在我正试图发送一封“简单”的电子邮件。我尝试了在framework.zend.com/manual网站上找到的几乎所有东西。我不知道该怎么做才能使它起作用。也感谢您回答这个问题。您确定这不是sendmail的问题吗?您可以使用PHP
mail()
命令发送电子邮件吗?问题是关于ZF2,而不是ZF1