Laravel 5.4邮件,传递数据

标签 laravel email

我正在尝试通过Laravel 5.4中的简单联系表向自己发送电子邮件。

我的表格有4个输入:Nom,prenom,email和message。
我只想发送包含邮件模板中数据的电子邮件

这是我的 Controller :

$this->validate($request, [
    'nom' => 'required|alpha',
    'prenom' => 'required|alpha',
    'email' => 'required|email',
    'message' => 'required',
    ]);

    $data = [
      'nom' => $request->nom,
      'prenom' => $request->prenom,
      'email' => $request->email,
      'message' => $request->message,
    ];

    Mail::to('myadress')->send(new Contact($data));

这是我的“联系”邮件:
public $data;

public function __construct($data)
{
    $this->nom = $data['nom'];
    $this->prenom = $data['prenom'];
    $this->email = $data['email'];
    $this->message = $data['message'];
}

/**
 * Build the message.
 *
 * @return $this
 */
public function build()
{
    return $this->view('emails.hello')->with([
                'nom' => $this->nom,
                'prenom' => $this->prenom,
                'email' => $this->email,
                'message' => $this->message,
            ]);
}

这是我的邮件模板:

<!DOCTYPE html>
<html lang="en-US">
<head>
    <meta charset="utf-8">
</head>
<body>
<h2>Demande d'informations </h2>

<div>
    <p>
      Vous recevez ce mail via le formulaire de contact du site .
    </p>
    <p>
      Adresse mail du contact: {{ $email }}
    </p>
    <p>
      Nom: {{ $nom }} / Prénom: {{ $prenom }}
    </p>
    <h3>Message du contact:</h3>
    <p>
      {{ $message }}
    </p>
</div>

</body>
</html>


我收到一条错误消息,提示我无法将对象作为字符串传递。
感谢您的帮助,这是我第一次使用Laravel Mail

最佳答案

所以,我发现了我的问题:

public function __construct($data) {
    $this->data = $data;
}

然后:
public function build() {
    return $this->from('mailadress@blabla', 'my site')
    ->subject('hello you')
    ->view('emails.hello')->with(['data', $this->data]);
}

在我的 Blade 文件中:
Adresse mail du contact: {{ $data['email'] }}

只是因为我试图在我的 View 中将数组显示为对象...

所以我不好!

关于Laravel 5.4邮件,传递数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42646751/

相关文章:

laravel - 首先 Eloquent 或创建文档或用法

php - 后端 : Is it possible to fetch image locatiom in css background(url) from database?

linux - 如何使用PHPMailer仅检查登录密码?

ios - Rails 4.2 - 将图像数据作为电子邮件附件发送而不保存图像

email - 在电子邮件中使用普通图像与内联图像

php - 如何在 Laravel 中捕获非命令计划任务的输出?

php - Eloquent: Laravel查询字段长度

php - 如何将 javascript 日期转换为 Carbon Date?

php - 我无法在 Elastix 上通过 php 发送电子邮件

javascript - 使用作业队列(kue/node/express)时将响应发送回请求者