【发布时间】:2018-02-01 16:01:17
【问题描述】:
我正在使用 Laravel 发送电子邮件。
我正在尝试发送带有消息的电子邮件并保存在数据库中。
但是会发生这种情况:
- 电子邮件被发送到正确的地址,但不是邮件。
如何在电子邮件视图中显示消息?
这是我发送电子邮件并将记录保存在数据库中的功能:
public function SendEmailGift(AudiobookSendRequest $request, $id) {
$email = $request->addressee;
$message = $request->message;
if (Auth::user()) {
$audioGift = AudioBook::findOrFail($id);
$userCheck = Auth::user()->$id;
$send = AudiobookSend::where(['user_id' => $userCheck, 'audiobooks_id' => $id])->first();
if(empty($send->user_id)) {
$user_id = Auth::user()->id;
$audiobooks_id = $id;
$send = new AudiobookSend;
$send->user_id = $user_id;
$send->audiobooks_id = $audiobooks_id;
$send->name = $request->name;
$send->addressee = $request->addressee;
$send->message = $request->message;
$send->save();
}
Mail::send('emails.send',
array(
'name' => $request->get('name'),
'addressee' => $request->get('addressee'),
'message' => $request->get('message'),
'location' => $id
), function($message) use ($request)
{
$message->from('no-reply@bdc.com.co');
$message->to($request->addressee, $request->name)->subject('Te han regalado un Audiolibro.');
});
return back()->with('info', 'Se ha enviado el regalo exitosamente');
} else {
return redirect()->route('login')->with('validate', 'Por favor inicia sesión para regalar este audiolibro');
}
}
这是邮件视图:
<h1 class="page-header">Biblioteca Digital CONFA.</h1>
</br>
<p class="text-justify font-bold">
{{-- $message -> Debe de mostrar el mensaje, tira error, htmlspecialchars() parece venir vacio desde la función. --}}
{{-- <strong>{!! $message !!}</strong> --}}
<strong>Mensaje</strong>
</p>
Para ver el audiolibro, presiona el siguiente boton.
<a href="{{ route('audiobooks.show', $location) }}" class="btn btn-outline-warning">Presioname</a>
一切正常,除了在电子邮件中显示消息。 请帮帮我=(
【问题讨论】:
-
在您的代码中,
$message是消息实例,它不是您可以显示的内容。您传递给视图的变量是$name、$adressee等。因此您可以在视图中使用{{ $name }}。当您输入{{ $message }}时,您想显示什么? -
$message 表示电子邮件的主要内容,因为,是用户在电子邮件中发送给收件人的消息,我想在收件人收到的电子邮件中显示该消息,并且我尝试使用变量 $message,但不起作用,我不知道该怎么做。现在我有另一个问题,是邮件中显示的消息,而不是刀片视图,它只是地址看到的平面文本。
-
不,$message 是您的可邮寄类的一个实例 - see the docs。如果您在视图中尝试
var_dump($message),您将看到类似object(Illuminate\Mail\Message)#403 (1) { ["swift":protected]=> object(Swift_Message...的内容。 “电子邮件的主要内容”是您的观点。 -
我终于明白问题所在了——我发布了一个答案。
标签: laravel send email-spam