Search code examples
phplaravelemailhtml-emailplaintext

How to add plaintext version to Laravel email without using markdown


I have some html emails that may be a bit too custom for a markdown, but I want to add the plain text versions to them. I know markdown emails do both, but can I manually add a plain text version to a mailable?


Solution

  • From the Laravel documentation:

    If you would like to define a plain-text version of your email, you may use the text method. Like the view method, the text method accepts a template name which will be used to render the contents of the email. You are free to define both a HTML and plain-text version of your message:

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        return $this->view('emails.orders.shipped')
                    ->text('emails.orders.shipped_plain');
    }