Laravel4:将文件附加到邮件的问题
我制作了一个简单的应用程序,在一个用户注册后,一封欢迎邮件被发送到他的地址。 一切正常。 但是,当我尝试将文件附加到邮件(在本例中为徽标)时,页面开始加载并。。永不结束。不要发邮件。 你知道为什么会这样吗 以下是Mailer抽象类:Laravel4:将文件附加到邮件的问题,laravel,laravel-4,sendmail,Laravel,Laravel 4,Sendmail,我制作了一个简单的应用程序,在一个用户注册后,一封欢迎邮件被发送到他的地址。 一切正常。 但是,当我尝试将文件附加到邮件(在本例中为徽标)时,页面开始加载并。。永不结束。不要发邮件。 你知道为什么会这样吗 以下是Mailer抽象类: <?php namespace Mailers; class InvalidContactInfoException extends \Exception {} abstract class Mailer { public $to; pu
<?php
namespace Mailers;
class InvalidContactInfoException extends \Exception {}
abstract class Mailer {
public $to;
public $email;
public $subject;
public $view;
public $data;
public $options;
public function __construct($user)
{
if(!is_object($user))
{
throw new InvalidContactInfoException('Please pass a valid user object');
}
$this->data = $user->toArray();
$this->to = $user->username;
$this->email = $user->email;
}
public function deliver()
{
$self = $this;
return \Mail::send($this->view, $this->data, function($message) use($self)
{
$message->to($self->email, $self->to)->subject($self->subject);
if(is_callable($self->option))
{
call_user_func($self->option, $message);
}
});
}
}
你可能会发现这是因为你需要
$this->options
而不是$this->option
。在public_path()之后可能还需要一个正斜杠代码>如下所示:
$this->options = function($message)
{
$message->attach(public_path().'/img/logo.gif');
};
$message->attach()
,您是从哪里获得attach()
方法的?它是在哪里定义的?我在Jeffrey Way教程中找到的。这应该是一种快捷的方法。我没有收到任何错误,但它开始加载,而且从未完成。。
$mailer = new Mailers\UserMailer($user);
// var_dump($mailer);
$mailer->welcomeMail()->deliver();
$user->save();
$this->options = function($message)
{
$message->attach(public_path().'/img/logo.gif');
};