我正在尝试使用我创建的自定义类来发送邮件,以便我可以保持控制器文件很薄.我创建了自定义类并将其放在components文件夹中.然后我补充说:
'sendMail' => array(
'class'=>'application.components.SendMail.',
),
Run Code Online (Sandbox Code Playgroud)
在我的主配置文件中的主要组件下面.
这应该允许我直接访问类正确吗?我尝试使用:
Yii::app()->SendMail->MailerConfirmation();
Run Code Online (Sandbox Code Playgroud)
和:
Yii:app()->MailerConfirmation();
Run Code Online (Sandbox Code Playgroud)
而我最终得到的只是错误.
谁能告诉我如何包含自定义组件?也许我这样做错了?
我已经尝试了几种解决方案,最接近(对我来说)应该是这样的:
$file = $pdf->Output('', 'E');
$message->attach(Swift_Attachment::newInstance($file, 'name.pdf', 'application/pdf'));
Run Code Online (Sandbox Code Playgroud)
$pdf是的实例TCPDF,并$message为实例Swift_Message.使用上面的电子邮件正在发送正常,文件已附加,但当我尝试打开它时,我收到错误消息,文件已损坏或编码错误.
我的问题是:如何将TCPDF生成的pdf作为Swiftmailer附件发送而不将文件保存到服务器并在发送电子邮件后将其删除.这是TCPDF输出方法文档的链接,也许有人可以看到我错过的东西.
我正在亚马逊的ec2上运行一个运行64位版本CentOS的网站.
该网站有一个简单的联系我们表格,需要在提交时向几个地址发送电子邮件(非常基本).
有没有人使用亚马逊的SES与Symfony2和Swiftmailer捆绑?如果是这样,您是否建议使用SES或更传统的电子邮件服务器进行此类任务?
在我的Symfony2网络应用程序中,我应该发送两种电子邮件:即时和批量.应立即发送即时电子邮件,同时应使用假脱机发送批量电子邮件.使用Symfony2中Swiftmailer的默认配置是不可能的,因为只有一个邮件服务.
类似的问题已经在SO(如何假脱机电子邮件(在一个任务中)和在其他控制器中发送正常的电子邮件?)中提出了没有运气,但根据这个github线程(https://github.com/) symfony/SwiftmailerBundle/issues/6)可以创建第二个邮件服务,可以配置完全不同于默认邮件服务.有人(stof)建议作为一种可能的解决方案,遵循SwiftmailerBundle(https://github.com/symfony/SwiftmailerBundle/blob/master/Resources/config/swiftmailer.xml)中的配置来创建这项新服务,但是我不知道究竟是怎么做到的.
有没有人知道如何创建一个额外的邮件服务,我可以将其配置为假脱机,同时使用默认邮件服务发送常规(即时)电子邮件?
所以当我通过生产环境上的fosUserBundle表单注册时,它会向我的Gmail发送一封电子邮件,但电子邮件中没有确认链接,只有这个
registration.email.message
Run Code Online (Sandbox Code Playgroud)
在电子邮件的标题和正文中,有人知道为什么吗?
我正在尝试在功能测试中测试电子邮件...
控制器:
public function sendEmailAction($name)
{
$message = \Swift_Message::newInstance()
->setSubject('Hello Email')
->setFrom('send@example.com')
->setTo('recipient@example.com')
->setBody('You should see me from the profiler!')
;
$this->get('mailer')->send($message);
return $this->render(...);
}
Run Code Online (Sandbox Code Playgroud)
而且测试:
// src/Acme/DemoBundle/Tests/Controller/MailControllerTest.php
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
class MailControllerTest extends WebTestCase
{
public function testMailIsSentAndContentIsOk()
{
$client = static::createClient();
// Enable the profiler for the next request (it does nothing if the profiler is not available)
$client->enableProfiler();
$crawler = $client->request('POST', '/path/to/above/action');
$mailCollector = $client->getProfile()->getCollector('swiftmailer');
// Check that an e-mail was sent
$this->assertEquals(1, …Run Code Online (Sandbox Code Playgroud) 我正在用Laravel 4发送电子邮件:
$data = Input::all();
Mail::queue(array('text' => 'e-Text', 'html' => 'e-Html'), $data ,
function($message) use ($data) {
$message->to($temp['data'], $data['nom'])
->subject('Votre message sur http://mon-site.fr a bien été envoyé !');
}
);
Run Code Online (Sandbox Code Playgroud)
消息与Iron.io排队.电子邮件将发送给收件人,但$ data数组不会传递到电子邮件视图.
我的日志文件出现此错误:
[2013-11-29 15:52:41] production.ERROR: exception 'ErrorException' with message 'Undefined variable: data' in /homez.218/famillen/test/laravel/app/storage/views/cdfda980a9a63595089057de30712093:12
Run Code Online (Sandbox Code Playgroud)
在我配置队列之前,它工作正常.任何的想法 ?
代码视图(刀片模板):
<body style="background-color: #FFDB73; padding: 10px;">
<img src="{{$message->embed('email/titre.png')}}" style="margin: 7px 0px 0px 7px"/>
<img src="{{$message->embed('email/banniere.png')}}"
style="-webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px;
max-height: 3em; width: 70%;"/>
<section style="margin-left: 10px;">
<h2>Objet : Vous avez envoyé …Run Code Online (Sandbox Code Playgroud) 我在SwiftMailer库下的laravel中使用Mail函数.
Mail::send('mail', array('key' => $todos1), function($message) {
$message->to(array('TEST@example.com','TESsdT@example.com','TESjxfjT@example.com','TESfssdT@example.com'))->subject('Welcome!');
});
Run Code Online (Sandbox Code Playgroud)
上述功能向多个用户发送邮件,但用户知道谁将所有邮件发送为其地址所包含的
To: TEST@example.com, TESsdT@example.com, TESjxfjT@example.com, TESfssdT@example.com
Run Code Online (Sandbox Code Playgroud)
所以为了纠正这个问题,我使用了一个foreach单独发送邮件的循环
foreach($to as $receipt){
//Mail::queue('mail', array('key' => $todos1), function($message) use ($receipt)
Mail::send('mail', array('key' => $todos1), function($message) use ($receipt)
{
$message->to($receipt)->subject('Welcome!');
});
}
Run Code Online (Sandbox Code Playgroud)
上面的代码工作得很好......
我的问题是,在这个高级框架中,有任何功能可以向具有唯一to地址的用户发送邮件(即),而没有一个用户知道有多少其他人在不使用foreach...的情况下发送相同的邮件.
我需要禁用ssl证书的验证以用于开发目的,但我在官方文档中没有找到任何相关信息.http://swiftmailer.org/docs/introduction.html
我正在使用php 5.6和Symfony2(v2.7).
SwiftMailerBundle的配置参考是:
swiftmailer:
transport: smtp
username: ~
password: ~
host: localhost
port: false
encryption: ~
auth_mode: ~
spool:
type: file
path: '%kernel.cache_dir%/swiftmailer/spool'
sender_address: ~
antiflood:
threshold: 99
sleep: 0
delivery_address: ~
disable_delivery: ~
logging: '%kernel.debug%'
Run Code Online (Sandbox Code Playgroud) 我想在遗忘密码API中使用laravel 5.4从本地计算机发送邮件.但是我得到了Swift_TransportException
(1/1) Swift_TransportException
Expected response code 220 but got code "502", with message "502 Command not implemented
"
Run Code Online (Sandbox Code Playgroud)
.env的详细信息是
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=username@gmail.com
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=username@gmail.com
MAIL_FROM_NAME=Project.com
Run Code Online (Sandbox Code Playgroud)
我得到错误的代码是
$response = $this->broker()->sendResetLink(
$request->only('email')
);
Run Code Online (Sandbox Code Playgroud)
config/mail.php中的代码是
return [
'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
'port' => env('MAIL_PORT', 587),
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
'name' => env('MAIL_FROM_NAME', 'Example'),
],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'markdown' => [
'theme' => 'default',
'paths' => [ …Run Code Online (Sandbox Code Playgroud) swiftmailer ×10
php ×5
symfony ×5
email ×3
laravel ×2
laravel-4 ×2
amazon-ec2 ×1
amazon-ses ×1
iron.io ×1
laravel-5 ×1
spool ×1
ssl ×1
tcpdf ×1
twig ×1
yii ×1