使用 gmail 从本地主机发送邮件

Posted

技术标签:

【中文标题】使用 gmail 从本地主机发送邮件【英文标题】:send mail from local host with gmail 【发布时间】:2021-02-12 09:48:42 【问题描述】:

嗨,亲爱的,我在使用 gmail 从 xampp(本地主机)发送电子邮件时遇到问题 这是我的 php.ini 代码==

[mail function]
SMTP=smtp.gmail.com
smtp_port=587
sendmail_from = mail@gmail.com
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

这是我的 sendmail.ini

smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username=arodana5000@gmail.com
auth_password= my password
force_sender=

当我运行 PHP 文件发送邮件时,它会创建新的崩溃文件。这是崩溃请打开它file 请帮帮我

或者看看那里

**> 日期/时间 : 2020-10-29, 14:17:59, 963ms

computer name     : MSI
user name         : Aro dana
registered owner  : Aro dana
operating system  : Windows NT New x64 build 9200
system language   : English
system up time    : 4 days 14 hours
program up time   : 845 milliseconds
processors        : 12x Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
physical memory   : 6920/16228 MB (free/total)
free disk space   : (C:) 9.56 GB (D:) 601.37 GB
display mode      : 1536x864, 32 bit
process id        : $20b4
allocated memory  : 22.45 MB
executable        : sendmail.exe
exec. date/time   : 2012-04-16 20:30
compiled with     : Delphi 2006/07
madExcept version : 3.0l
callstack crc     : $1d5da2f6, $c8f19877, $c8f19877
exception number  : 1
exception class   : EIdSocketError
exception message : Socket Error # 11001 Host not found.

main thread ($36ec):
00435e23 +0073 sendmail.exe IdStack                        706  +42 TIdStack.RaiseSocketError
00433faf +0123 sendmail.exe IdStackWindows                1227  +55 TIdStackWindows.HostByName
00435a75 +006d sendmail.exe IdStack                        571  +10 TIdStack.ResolveHost
00440a70 +00fc sendmail.exe IdIOHandlerStack               314  +23 TIdIOHandlerStack.ConnectClient
0046554d +0031 sendmail.exe IdSSLOpenSSL                  2086   +8 TIdSSLIOHandlerSocketOpenSSL.ConnectClient
00444a9f +0063 sendmail.exe IdIOHandlerSocket              335  +13 TIdIOHandlerSocket.Open
00465637 +0007 sendmail.exe IdSSLOpenSSL                  2122   +1 TIdSSLIOHandlerSocketOpenSSL.Open
0044157d +0235 sendmail.exe IdTCPClient                    318  +53 TIdTCPClientCustom.Connect
00445cc8 +00a4 sendmail.exe IdExplicitTLSClientServerBase  257  +23 TIdExplicitTLSClient.Connect
0045ab7b +0017 sendmail.exe IdSMTP                         373   +2 TIdSMTP.Connect
004b5f14 +1060 sendmail.exe sendmail                       808 +326 initialization
77036357 +0017 KERNEL32.DLL                                         BaseThreadInitThunk

thread $5414:
77036357 +17 KERNEL32.DLL  BaseThreadInitThunk

thread $7080:
77036357 +17 KERNEL32.DLL  BaseThreadInitThunk

thread $6164:
77036357 +17 KERNEL32.DLL  BaseThreadInitThunk

stack dump:
0019fc58  28 5e 43 00 de fa ed 0e - 01 00 00 00 07 00 00 00  (^C.............
0019fc68  6c fc 19 00 28 5e 43 00 - 08 cc 45 02 ec 28 43 00  l...(^C...E..(C.
0019fc78  30 50 45 02 f9 2a 00 00 - a8 fc 19 00 88 fc 19 00  0PE..*..........
0019fc88  b0 fc 19 00 c8 4b 40 00 - a8 fc 19 00 00 00 00 00  .....K@.........
0019fc98  00 00 00 00 00 00 00 00 - f9 2a 00 00 30 50 45 02  .........*..0PE.
0019fca8  f4 fc 19 00 b2 3f 43 00 - 1c fd 19 00 c8 4b 40 00  .....?C......K@.
0019fcb8  f4 fc 19 00 44 fd 19 00 - 4b 02 00 00 ec 28 43 00  ....D...K....(C.
0019fcc8  00 00 00 00 00 00 00 00 - 02 00 00 00 01 00 00 00  ................
0019fcd8  00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ................
0019fce8  00 00 00 00 00 00 00 00 - 00 00 00 00 10 fd 19 00  ................
0019fcf8  77 5a 43 00 3c fd 19 00 - 00 00 00 00 ff ff ff 00  wZC.<...........
0019fd08  a8 a9 46 02 30 50 45 02 - 48 fd 19 00 75 0a 44 00  ..F.0PE.H...u.D.
0019fd18  3c fd 19 00 50 fd 19 00 - c8 4b 40 00 48 fd 19 00  <...P....K@.H...
0019fd28  14 3f 41 00 b0 f4 3e 02 - b0 f4 3e 02 90 69 44 02  .?A...>...>..iD.
0019fd38  00 00 00 00 00 00 00 00 - 00 00 00 00 b0 f4 3e 02  ..............>.
0019fd48  64 fd 19 00 52 55 46 00 - 78 fd 19 00 c8 4b 40 00  d...RUF.x....K@.
0019fd58  64 fd 19 00 14 3f 41 01 - b0 f4 3e 02 ac fd 19 00  d....?A...>.....
0019fd68  a5 4a 44 00 b0 f4 3e 02 - 3c 56 46 00 83 15 44 00  .JD...>.<VF...D.
0019fd78  84 fd 19 00 5f 4d 40 00 - ac fd 19 00 d8 fd 19 00  ...._M@.........
0019fd88  c8 4b 40 00 ac fd 19 00 - 14 3f 41 00 b0 f4 3e 02  .K@......?A...>.

disassembling:
[...]
00435e13       push    eax
00435e14       mov     ecx, [ebp-8]
00435e17       mov     dl, 1
00435e19       mov     eax, [$4352ac]
00435e1e       call    -$717 ($43570c)        ; IdStack.EIdSocketError.CreateError
00435e23     > call    -$3113c ($404cec)      ; System.@RaiseExcept
00435e28 707   xor     eax, eax
00435e2a       pop     edx
00435e2b       pop     ecx
00435e2c       pop     ecx
00435e2d       mov     fs:[eax], edx
[...]**

【问题讨论】:

很可能没有人会下载并打开该文件。最好只在此处以文本形式包含相关消息 【参考方案1】:

在 google 帐户中,您必须禁用 3rd 方应用程序的安全性才能通过该帐户发送电子邮件。或为此创建特殊的应用程序密码,否则谷歌不会让您发送该电子邮件。 https://support.google.com/accounts/answer/185833?hl=en

【讨论】:

嗨,我认为你是对的,请问我在哪里可以禁用它 你能检查一下吗:myaccount.google.com/lesssecureapps 但请检查所有不推荐的信息。【参考方案2】:

症状

连接到远程主机时出现问题:

主机状态在查看器通讯簿中显示为“离线”。 可以建立远程连接,但连接不稳定。

当您检查主机日志时,您会看到以下错误:Socket Error # 11001 Host not found.(EIdSocketError)

原因

此问题适用于 Internet-ID 连接。当使用这种连接类型时,程序会与网络上的中间服务器进行通信——根据您的设置,这可以是我们的公共服务器或您维护的自托管服务器。

此错误可能意味着远程主机由于以下原因之一不可用:

DNS 问题,即无法从其 DNS 名称解析中间服务器的 IP 地址。 中间服务器的地址和/或出站端口在防火墙中被阻止。

要解决此问题,请按所列顺序尝试以下解决方案。

第 1 步

清除安装主机的计算机上的 DNS 缓存(以下步骤适用于 Windows 10):

    按 Win + R 打开“运行”对话框。 键入 ipconfig /flushdns 并单击 OK(或按 Enter):Flush DNS 一个命令框将在屏幕上闪烁片刻,DNS 缓存被清除。 右键单击托盘区域中的主机图标,然后选择重新启动主机。等待 10-20 秒,直到主机重新启动并与中间服务器建立连接。

第 2 步

如果您使用我们的公共 Internet-ID 服务,请确保可以从主机 PC 访问位于 id.remoteutilities.com 的主服务器,并且可以成功解析服务器的 IP 地址。

    按 Win + R 打开“运行”对话框。 键入 cmd 并单击 OK(或按 Enter)。命令提示符将打开。 输入 ping id.remoteutilities.com 并按 Enter。 如果 ping 命令和 DNS 解析成功,您应该会看到如下图所示的结果:Ping ID 服务器 如果您收到“请求超时”作为响应,则无法从主机位置访问 ID 服务器。请联系您的系统管理员。

【讨论】:

【参考方案3】:

您需要允许在您的 google 帐户上使用其他应用程序,因为您的帐户不允许未定义的应用程序请求。 Gmail Application Allow 允许

【讨论】:

以上是关于使用 gmail 从本地主机发送邮件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用带有 XAMPP 的 PHP 从本地主机发送电子邮件?

使用SSMTP从本地主机发送电子邮件

Mercury:从本地主机发送电子邮件

绕过 Gmail 的垃圾邮件过滤器(使用 PHP 从共享主机发送的邮件)

努力使用 xampp 和 gmail 发送邮件

使用 PHP 从 localhost 发送邮件