php - 如何在 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
解决方案
由于没有人回答,这里是 PHP 解决方案,但不是 Laravel 特定的 -
PHP 有一个名为 imap.so 的扩展,它可以连接和管理 IMAP 和 POP3 邮箱。
您可以使用它来读取邮箱的内容。
另一种解决方案是将电子邮件通过管道传输到您的应用程序。假设您在 Linux 上托管 - 在 sendmail 上这很困难,但我们大约在 20 年前就做到了。在 postfix 上很容易 - conf 中的一行。
然而,这两种解决方案都不是完美的。
大多数 PHP 服务器都没有 imap.so
修补网络服务器需要 root 访问权限,我不知道有谁会为你做这件事的任何共享主机。
关于 Laravel 特定解决方案搜索 Laravel POP3,你肯定会发现很多可以使用的模块。
推荐阅读
- python - pandas 和 bitset 数据的性能问题
- google-bigquery - 如何在bigquery中用日语查询
- apache-flink - vm 上的 Flink v 1.13 独立设置
- python - 将列表返回到作品集中的“弹出”功能
- javascript - Spring Boot SSEEmitter 完成后发送 HttpStatus.ok
- authentication - 我启动了 FirewallD 服务但不允许 SSH 端口,现在我无法通过 SSH 登录我的虚拟机
- .net-core - ASP.Net Core Web API '无法访问此站点'
- cypress - 柏树黄瓜预处理器中的步骤定义文件夹结构
- java - vscode 中不存在包 org.junit
- java - 如何在骆驼路线中使用动态或重新启动路线而不停止应用程序