0
我做了一個簡單的應用程序,一個用戶註冊後,一個歡迎郵件發送到他的地址。 一切正常。 但是,當我試圖附加一個文件到郵件(在這種情況下的標誌)頁面開始加載和..永遠不會完成。並且不要發送郵件。 你知道爲什麼會發生這種情況嗎?Laravel4:將文件附加到郵件的問題
這裏是梅勒抽象類:
<?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);
}
});
}
}
這是userMailer類:
<?php
namespace Mailers;
class UserMailer extends Mailer {
public function welcomeMail()
{
$this->subject = 'Welcome in my website';
$this->view = 'emails.user.welcome2';
$this->option = function($message) // -- HERE IS WHERE I ATTACH THE FILE --
{
$message->attach(public_path().'img/logo.gif');
};
return $this;
}
}
而且我所說的類從的postRegister方法裏面,只是節省了用戶在數據庫中前:
$mailer = new Mailers\UserMailer($user);
// var_dump($mailer);
$mailer->welcomeMail()->deliver();
$user->save();
'$ MESSAGE->附加()',從哪兒弄來'附加()'方法??是定義在那裏? –
我在Jeffrey Way教程中找到了這個。它應該是一個SwiftMailer方法。我沒有得到任何錯誤,但它開始加載並永遠不會結束.. – johnnyfittizio