48

这就是问题:

这就是问题

我需要这个帮助。谢谢

4

7 回答 7

67

config/mail.php

from属性设置为:

'from' => ['address' => 'someemail@somedomain.com', 'name' => 'Firstname Lastname']

在这里,地址应该是您要从电子邮件中显示的地址,而名称应该是您要从名称中显示的内容。

PS 这将是您发送的每封电子邮件的默认电子邮件设置。

编辑:如果您需要通过代码使用 Name 作为变量,您还可以按如下方式调用函数 from() (从下面的 Brad Ahrens 答案复制,我认为这里值得一提):

return $this
    ->from($address = 'noreply@domain.com', $name = 'Sender name')
    ->subject('Here is my subject')
    ->view('emails.view');
于 2017-02-01T05:20:50.083 回答
35

您可以使用

 Mail::send('emails.welcome', $data, function($message)
    {
        $message->from('us@example.com', 'Laravel');

        $message->to('foo@example.com')->cc('bar@example.com');
    });

参考 - https://laravel.com/docs/5.0/mail

于 2017-02-01T05:59:27.690 回答
13

更好的方法是在.env文件中添加变量名称和值。

例子:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=example@example.com
MAIL_PASSWORD=password
MAIL_ENCRYPTION=tls

MAIL_FROM_NAME="My Name"
MAIL_FROM_ADDRESS=support@example.com

注意最后两行。这些将与发送的电子邮件中的发件人姓名电子邮件字段相关联。

于 2019-03-03T05:07:16.420 回答
12

在 google SMTP 的情况下,即使您在邮件类中提供此地址,发件人地址也不会改变。这是由于谷歌邮件的政策,而不是 Laravel 问题。以为我会在这里分享。

于 2019-08-27T09:21:55.817 回答
7

对于使用Laravel 5.8并遇到此问题的任何人,试一试,它对我有用:

在邮件本身的构建功能中(不是视图,而是邮件):

public function build()
{
    return $this
        ->from($address = 'noreply@domain.com', $name = 'Sender name')
        ->subject('Here is my subject')
        ->view('emails.welcome');
}

快乐编码:)

于 2019-08-12T11:23:26.270 回答
1
  • 如果您想要全局“来自姓名”和“来自电子邮件”,

  • 在 .env 文件中创建这两个键

  • MAIL_FROM_NAME ="全局来自名称"

  • MAIL_FROM_ADDRESS =support@example.com

并从控制器上删除“从”。或 php 代码,如果您手动声明。现在它从名称和电子邮件访问。

配置\邮件.php

 'from' => [
        'address' => env('MAIL_FROM_ADDRESS', 'info@catandpillar@.com'),
        'name' => env('MAIL_FROM_NAME', 'write name if not found in env'),
    ],

在我的控制器上。

$conUsBody = '';

        $conUsBody .= '<h2 class="text-center">Hello Admin,</h2>
                        <b><p> '.trim($request->name).' Want some assesment</p></b>
                        <p>Here are the details:</p>
                        <p>Name: '.trim($request->name).'</p>
                        <p>Email: '.trim($request->email).'</p>
                        <p>Subject: '.trim($request->subject).'</p>';

      $contactContent = array('contactusbody' =>  $conUsBody);

      Mail::send(['html' => 'emails.mail'], $contactContent,

      function($message) use ($mailData)
      {
        $message->to('vinay.kaithwas@gmail.com', 'Admin')->subject($mailData['subject']);
        $message->attach($mailData['attachfilepath']);
      });
      return back()->with('success', 'Thanks for contacting us!');
    }

我的刀片模板。

<body>
{!! $contactusbody !!}
</body>
于 2020-04-06T13:30:46.713 回答
0

我认为您的代码片段中有错误。你有
from(config('app.senders.info'), 'My Full Name')
这样的 config('app.senders.info') 返回数组。
方法 from 应该有两个参数:第一个是包含地址的字符串,第二个是包含发件人姓名的字符串。所以你应该把它改成
from(config('app.senders.info.address'), config('app.senders.info.name'))

于 2018-06-05T17:39:17.180 回答