Laravel 5.4 更改markdown邮件的主题

Posted

技术标签:

【中文标题】Laravel 5.4 更改markdown邮件的主题【英文标题】:Laravel 5.4 change the subject of markdown mail 【发布时间】:2017-09-12 18:01:54 【问题描述】:

我使用了 markdown mailables,这是 laravel 5.4 中的一个新功能。我已经成功实现了一个邮件发件人。看来,邮件的主题被命名为mailable 类的名称。我需要更改邮件的主题,并且很难找到有关此的任何资源。

【问题讨论】:

请添加一些代码。我们知道 laravel 中的降价邮件是什么。 这似乎是 ShouldQueue 实现的问题,我也遇到了同样的问题 【参考方案1】:

完整代码(已测试)

<?php 
    
    namespace App\Http\Controllers; 
    use Illuminate\Http\Request; 
    
     use Mail; 
    
    class ContactController extends Controller  
    
         
    
         public function sendContactMail(Request $request)  
            $this->validate($request, [
                'name' => 'required',
                'email' => 'required|email',
                'subject' => 'required',
                'user_message' => 'required'
            ]);
    
         
    
            Mail::send('contact_email',
                 array(
                     'name' => $request->get('name'),
                     'email' => $request->get('email'),
                     'subject' => $request->get('subject'),
                     'user_message' => $request->get('user_message'),
                 ), function($message) use ($request)
                   
                      $message->from($request->email );
                      $message->subject("Your Subject");
                      $message->to('email to');
                   );
    
              return back()->with('success', 'Your message was sent successfully');
    
        
    

【讨论】:

【参考方案2】:

如果所有电子邮件的电子邮件主题都相同,则只需在扩展的 Mailable 类中重载 $subject 参数即可。

/**
 * The subject of the message.
 *
 * @var string
 */
public $subject;

【讨论】:

【参考方案3】:

laravel mailables 中有 subject 方法。

所有可邮寄类的配置都在 build 方法中完成。在此方法中,您可以调用 from、subject、view、attach 等各种方法来配置电子邮件的呈现和传递。 :https://laravel.com/docs/5.4/mail#writing-mailables

你可以这样实现:

/**
 * Build the message.
 *
 * @return $this
 */
public function build()

    return $this->from('example@example.com')
                ->subject('Your Subject')
                ->markdown('emails.orders.shipped');

修改类后可能需要执行php artisan view:clear

【讨论】:

以上是关于Laravel 5.4 更改markdown邮件的主题的主要内容,如果未能解决你的问题,请参考以下文章

markdown Laravel 5.4:从gulp迁移到webpack

markdown PHP 5.6性能基准与Laravel 5.4上的PHP 7相比

laravel 5.4 密码重置问题——发送邮件

在 Laravel 5.4 中自定义忘记密码的电子邮件

在 Laravel 5.4 中向多个抄送收件人发送电子邮件

Laravel 5.4 - 单击电子邮件中的验证链接时未传递或发送电子邮件验证令牌令牌。