2016-05-30 10 views
1

Ich versuche, E-Mails in laravel5.1 zu senden und dass E-Mail gefunden: Senden gebrauchte Ansicht Vorlagen wie unten:Laravel 5.1: Wie HTML Body und Text Body ohne View übergeben?

Mail::send(['html.view', 'text.view'], $data, $callback); 

Problem ist, ich habe meine bereit HTML Körper und Textkörper senden aus der Datenbank kommen. Wie man HTML-Ansicht und Textansicht einstellt, wenn Inhalt von der Datenbank wie folgt kommt:

Danke.

Antwort

0

Um text/plain-Nachricht anhängen wir addParts Verfahren wie unter

$message->to($email_details['to']) 
->subject($email_details['subject']) 
->from($email_details['from']) 
->setBody($email_details['html'], 'text/html'); 

/* add alternative parts with addPart()*/ 
$message->addPart($email_details['text'], 'text/plain'); 
1

können Sie:

Mail::send(['text' => $text_body], $data, $callback); 
+0

Wie seien HTML verwenden können? Kann ich Mail hinzufügen: send (['text' => $ text_body, 'html' => $ html_body], $ data, $ callback); –

+0

Text ist die Variable, die den Text enthält, der gesendet wird. Sie müssten also beide Variablen verketten, –

0

Sie Ihre Daten zu Ihrer Ansicht wie diese

$data = []; 
$data['Html_Body']; 
$data['Text_Body']; 
\Mail::send('html.view', $data , function($message) 
{ 
    $message->to($email)->subject($subject); 
}); 

und verwenden, um die Daten, die Sie zu der Ansicht geführt, als Variablen

$Html_Body; 
$Text_Body; 
+0

. Ich möchte keine Ansicht verwenden. Das habe ich in meiner Frage erwähnt. –

0
$mailBody = View::make('my_mail', ['name' => 'fknight']); 
    $contents = (string) $mailBody; 
    // or 
    $contents = $mailBody->render(); 
passieren kann

Dies ist der bessere Weg statt usin g einfach HTML in variable