laravel 5.4 Bild einbetten in E-mail

Habe ich gerade aktualisiert meine 5.2 Installation von laravel zu 5.3 und dann zu 5.4 im Anschluss an den offiziellen Upgrade-Methoden.

Ich versuche jetzt zu verwenden Sie eine der neuen Funktionen, zum erstellen eines markdown-formatierte E-Mail.

Gemäß der Dokumentation ausgeführt haben, finden Sie unter: https://laravel.com/docs/5.4/mail#view-data

Einbetten eines inline-Bildes, verwenden Sie die embed-Methode auf die $message
variable, die in Ihre E-Mail-Vorlage. Laravel automatisch macht
$message variable zur Verfügung, um alle Ihre E-Mail-Vorlagen, so dass Sie
nicht sich sorgen machen müssen Sie es manuell:

Jedoch diese:

<img src="{{ $message->embed(public_path().'/img/official_logo.png') }}">

wird den folgenden Fehler erzeugen:

Undefined variable: message

Bin ich etwas fehlt? Oder gibt es etwas, ohne Papiere in die Modernisierung guides?

Später Bearbeiten:

Rufe ich die E-Mail-Funktion mit:

\Mail::to($user)->send(new WelcomeCandidate($user, $request->input('password')));

Und WelcomeCandidate aussieht:

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;

use App\Models\User;

class WelcomeCandidate extends Mailable
{

    use Queueable, SerializesModels;

    public $user;
    public $password;

    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct(User $user, $password)
    {
        //
        $this->user = $user;
        $this->password = $password;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        $this->subject('Welcome!');
        return $this->markdown('emails.welcome-candidate');
    }
}
  • zeigen Sie etwas mehr code, aber was der Fehler sagt, ist ziemlich klar. Sie wusste nicht, definieren Sie die variable message auf Ihrem paketversandfähige Klasse oder notification-Klasse oder die Sie nicht zuordnen und es in den Konstruktor von Ihrer paketversandfähige / Benachrichtigung. Auch wenn Sie gonna verwenden, markdown, brauchen Sie nicht das Bild-tag.
  • Ich habe es gemäß der Anleitung, wie man sehen kann in dem zitierten text. Welchen code soll ich eingeben?
  • den code, wo Sie exectute Ihre paketversandfähige Klasse: so zum Beispiel : $message = "hello"; Mail::to($request->user())->send(new OrderShipped($message));
  • Ich habe den code in die Frage.
  • Gleiche Frage wurde hier angehoben: github.com/laravel/framework/issues/17629 . Keine Lösungen aber.
InformationsquelleAutor Angelin Calu | 2017-02-28
Schreibe einen Kommentar