首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让多个发件人在laravel中发送电子邮件

如何让多个发件人在laravel中发送电子邮件
EN

Stack Overflow用户
提问于 2020-04-18 15:58:34
回答 1查看 39关注 0票数 0

我创建了一个简单的应用程序来管理后续学生。我想从发件人地址发送一封电子邮件,当他们评论一名学生时,该地址正在发送电子邮件。为什么当我发送电子邮件时,当我试图在()的方法中更改电子邮件时,我只能得到我在.eve文件中配置的地址发件人。

这是我的EmailController

代码语言:javascript
复制
public function htmlEmail()
{
    $data = [
        'name'      => 'virak',
        'message'   => 'The life of brian',
        'subject'   => 'Laravel Plain Email',
        'from'      => 'viraktestemail44@gmail.com',// I try to change email here but no 
                                                       result when I change.
        'from_name' => 'Laravel HTML Email',
    ];

    Mail::to('virakcambodia44@gmail.com', 'Virak')->send(new HTMLMail($data));

    return "HTML Email Sent. Check your inbox.";
}

这是我的邮件。

代码语言:javascript
复制
    <?php

namespace App\Mail;

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

class HTMLMail extends Mailable
{
use Queueable, SerializesModels;

public $data;

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

public function build()
{
    return $this->from($this->data['from'], $this->data['from_name'])
        ->subject($this->data['subject'])
        ->view('emails.html');
}
}

这是我的wep.php

代码语言:javascript
复制
Route::get('/html-email',[
'uses' => 'EmailController@htmlEmail',
]);

这是我的.env

代码语言:javascript
复制
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=virak.ran44@gmail.com
MAIL_PASSWORD=12345678
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=virak.ran44@gmail.com
MAIL_FROM_NAME="${APP_NAME}"
EN

回答 1

Stack Overflow用户

发布于 2020-04-18 16:10:12

您可以使用Swift Mailer

对于这一点来说,这是一个伟大而快速的结果

https://swiftmailer.symfony.com/docs/introduction.html

我以前在我的项目中使用过虚拟代码:

//创建传输

代码语言:javascript
复制
        $transport = (new Swift_SmtpTransport($mail_details->outgoing_server,$mail_details->outgoing_server_port,$outgoing_encryption))
          ->setUsername($mail_details->mail_email_address)
          ->setPassword($mail_details->mail_email_password)
          ;

        /*
        You could alternatively use a different transport such as Sendmail:

        // Sendmail
        $transport = new Swift_SendmailTransport('/usr/sbin/sendmail -bs');
        */

        // Create the Mailer using your created Transport
        $mailer = new Swift_Mailer($transport);

        // Create a message
        $message = (new Swift_Message($subject))
          ->setFrom([$mail_details->mail_email_address => $mail_details->mail_username])
          ->setTo($toemail)
          ->setCc($tocc)
          ->setBcc($tobcc)
          ->setBody($message,'text/html');


          if (Input::hasFile('attachments')) {


          $attachments = Input::file('attachments');

          foreach ($attachments as $attachments_key => $attachments_data) 
          {
            $destinationPath = 'uploads/emails-saved/';  
            $attachments_name = $attachments_data->getClientOriginalName();
            $test=$attachments_data->move($destinationPath,$attachments_name);
            $file = public_path().'/uploads/emails-saved/'. $attachments_name;

            $message->attach(Swift_Attachment::fromPath($file)->setFilename($attachments_name));

          }


          }


        // Send the message
        $result = $mailer->send($message);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61285949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档