首页 > 解决方案 > 如何在 Laravel 的电子商务网站上接收电子邮件?

问题描述

我已经编写了一些代码来为我的网站发送电子邮件和接收电子邮件,但是它一直给我一条错误消息。可以通过下面的链接访问错误消息,或者在此处复制并粘贴简短版本。如何成功让客户向我发送电子邮件?在此示例中,我想使用 tanz61791@gmail.com 作为客户,以向 aleksanderhowell@gmail.com 作为客户支持电子邮件发送电子邮件。

无法与主机 smtp.marketing4growth.com 建立连接:stream_socket_client():php_network_getaddresses:getaddrinfo 失败:不知道这样的主机。 https://flareapp.io/share/v5pwB27E#F59

我用来创建允许客户填写表格以向我发送电子邮件以获得客户支持帮助的一些代码如下所示。如果您想查看完整代码,可以通过位于所示代码下方的我的 GitHub 存储库链接。

发送电子邮件控制器.php

public function send(Request $request){
    $this->validate($request, [
        'name' => 'required',
        'email' => 'required|email',
        'message' => 'required'
    ]);
    $data = array(
        'name' => $request->name,
        'message' => $request->message
    );
    Mail::to('aleksanderhowell@gmail.com')->send(new SendMail($data));
    return back()->with('success', 'Thanks for contacting us!');
}

发送邮件.php

public function build()
{
    return $this->from('tanz61791@gmail.com')->subject('New Customer Enquiry')- 
>view('dynamic_email')->with('data', $this->data);
}

.env

MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=80
MAIL_USERNAME=aleksanderhowell
MAIL_PASSWORD=^[qqP-mJV8HG#FPN
MAIL_ENCRYPTION=null

https://github.com/xiaohexi/blog

标签: phplaravel

解决方案


由于没有人回答,这里是 PHP 解决方案,但不是 Laravel 特定的 -

PHP 有一个名为 imap.so 的扩展,它可以连接和管理 IMAP 和 POP3 邮箱。

您可以使用它来读取邮箱的内容。

另一种解决方案是将电子邮件通过管道传输到您的应用程序。假设您在 Linux 上托管 - 在 sendmail 上这很困难,但我们大约在 20 年前就做到了。在 postfix 上很容易 - conf 中的一行。

然而,这两种解决方案都不是完美的。

大多数 PHP 服务器都没有 imap.so

修补网络服务器需要 root 访问权限,我不知道有谁会为你做这件事的任何共享主机。

关于 Laravel 特定解决方案搜索 Laravel POP3,你肯定会发现很多可以使用的模块。


推荐阅读