首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将smtp端口从25更改为587?

将smtp端口从25更改为587?
EN

Stack Overflow用户
提问于 2011-05-06 14:52:55
回答 5查看 39.4K关注 0票数 8

我的ISP屏蔽了从PHP发送邮件的端口25,而允许使用端口587或465。如何强制php邮件功能使用端口587而不是默认的25?顺便说一句:我正在OSX 10.6.6上使用MAMP

更新:我尝试将php.ini中的设置更改为这个

代码语言:javascript
运行
复制
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 587

因为我在mac电脑上,我不认为这是我的解决方案,而且在我尝试之后,它就无法工作了。它给了我以下错误信息。

代码语言:javascript
运行
复制
May  6 20:32:25 Ibrahim-Armars-MacBook-Pro postfix/smtp[2822]: connect to alt2.aspmx.l.google.com[74.125.159.27]:25: Operation timed out
May  6 20:32:25 Ibrahim-Armars-MacBook-Pro postfix/smtp[2823]: connect to alt2.aspmx.l.google.com[74.125.159.27]:25: Operation timed out
May  6 20:32:25 Ibrahim-Armars-MacBook-Pro postfix/smtp[2827]: connect to alt2.aspmx.l.google.com[74.125.159.27]:25: Operation timed out
May  6 20:32:25 Ibrahim-Armars-MacBook-Pro postfix/smtp[2825]: connect to alt2.aspmx.l.google.com[74.125.159.27]:25: Operation timed out
May  6 20:32:25 Ibrahim-Armars-MacBook-Pro postfix/smtp[2828]: connect to alt2.aspmx.l.google.com[74.125.159.27]:25: Operation timed out

你看它还在尝试通过25端口连接吗?怎么在mac里换呢?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-05-06 17:26:03

更改smtp_port只会影响mail()SMTP设置指定的服务器的交互方式。这不是问题所在。问题是:

  1. 您正在使用本地计算机作为SMTP服务器-而且
  2. 您的ISP正在阻止本地SMTP服务器(postfix)将消息中继到Gmail。

首先,读这个线程。它也讨论了同样的问题。其结果是,您需要使用不同的邮件服务器,最好是您的ISP邮件服务器。如果你想要使用他们的电子邮件服务,你的ISP会告诉你哪些服务器和端口可以用于出站邮件?您应该能够使用您的PHP运行在本地,就像您会像一个电子邮件客户端一样,将能够发送到Gmail。

票数 5
EN

Stack Overflow用户

发布于 2011-05-06 14:56:28

在您的smtp_port = 587中设置php.ini。请参阅http://php.net/manual/en/mail.configuration.php

编辑

正如AJ所指出的,如果您使用本地后缀或sendmail,这不会解决问题,您可以通过指定smtp = localhost来解决这个问题。尝试将其设置为ISP的SMTP服务器地址。

如果在允许您发送邮件之前还需要身份验证,这可能会导致下一个问题,许多ISP都这样做。在这种情况下,你最好的选择是梨邮包。顺便说一句,这还允许您在脚本中指定邮件服务器和端口。从文件中:

代码语言:javascript
运行
复制
$params["host"] - The server to connect. Default is localhost.
$params["port"] - The port to connect. Default is 25.
$params["auth"] - Whether or not to use SMTP authentication. Default is FALSE.
$params["username"] - The username to use for SMTP authentication.
$params["password"] - The password to use for SMTP authentication.
票数 3
EN

Stack Overflow用户

发布于 2011-05-06 14:58:27

您可以编辑您的php.ini文件(如果您有访问权限),并在您的代码ini_set('smtp_port', 587)中设置smtp_port = 587

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5913149

复制
相关文章

相似问题

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