gpt4 book ai didi

php - 通过队列 Laravel 发送原始邮件

转载 作者:行者123 更新时间:2023-12-02 07:20:06 25 4
gpt4 key购买 nike

出于测试目的,我想通过队列发送原始邮件。

我可以发送这样的原始邮件:

Mail::raw('bonjour', function($message) {
$message->subject('Email de test')
->to('test@example.org');
});

但是有没有办法通过队列发送原始邮件(不创建 View 或可邮寄)?

最佳答案

我搜索了过去几天没有任何结果来完成这个:可以排队的原始邮件。
不幸的是,我没有找到不使用 Mailables 和 Views 的解决方案。
我假设您和我有同样的原因:您想从字符串发送 100% 动态生成的邮件。
我的解决方案是:

  • 创建一个只包含一个变量的 View :<?php echo $content;
  • 创建可邮寄,将内容传递给构造函数并将其设置为 $this->content
  • 将旧邮件闭包中的所有内容复制到可邮寄的构建方法中,并将每个 $message-> 替换为 $this
  • 排队;)
  • public function send(Request $request) {
    $to = "test@example.org";
    $subject = "email de test";
    $content = "bonjour";
    Mail::send(new RawMailable($to, $subject, $content));
    }
    查看(/ressources/view/emails/raw.blade.php):
    {!! $content !!}
    可邮寄:
    <?php

    namespace App\Mail;

    use Dingo\Api\Http\Request;
    use Illuminate\Bus\Queueable;
    use Illuminate\Contracts\Queue\ShouldQueue;
    use Illuminate\Mail\Mailable;
    use Illuminate\Queue\SerializesModels;

    class RawMailable extends Mailable
    {
    use Queueable, SerializesModels, ShouldQueue;

    private $mailTo;
    private $mailSubject;
    // the values that shouldnt appear in the mail should be private

    public $content;
    // public properties are accessible from the view

    /**
    * Create a new message instance.
    *
    * @param LayoutMailRawRequest $request
    */
    public function __construct($to, $subject, $content)
    {
    $this->content = $content;
    $this->mailSubject = $subject;
    $this->mailTo = $to;
    }

    /**
    * Build the message.
    *
    * @throws \Exception
    */
    public function build()
    {
    $this->view('emails.raw');

    $this->subject($this->mailSubject)
    ->to($this->mailTo);
    }
    }

    关于php - 通过队列 Laravel 发送原始邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48262286/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com