试图弄清是否有一种优雅的方法可以将HTML字符串作为电子邮件正文“保存”到我邮箱的“草稿”文件夹中。
IMAP可能是一个选项。但是,不想使用php_imap(),因为在我的MacOS Mojave上配置它变得很痛苦。
此外,我试图找出zend-mail,但找不到如何执行此操作的好例子。
非常感谢任何帮助。
答案 0 :(得分:1)
我有一个解决方法。
控制器:
try {
Mail::to([])->send(new MailTemplate($this, $filename));
} catch (\Swift_TransportException $e) {}
邮件模板
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Storage;
class MailTemplate extends Mailable
{
use Queueable, SerializesModels;
public $order;
public $filename;
/**
* MailTemplate constructor.
* @param Order $order
* @param $filename
*/
public function __construct(Order $order, $filename)
{
$this->order = $order;
$this->filename = $filename;
$this->withSwiftMessage(function ($message) {
$email = $this->order->id . '.eml';
$path = 'email/' . $email;
Storage::put($path , $message->toString());
});
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
$subject = 'Notification: ';
$this->cc($this->order->requestor->email);
if ($this->filename !== null)
$this->attach($this->filename);
return $this->subject($subject)->view('emails.apac', ['order' => $this->order]);
}
}
您会在storage / app /
中找到一封电子邮件草稿