php中邮件函数的问题

2 views
Skip to first unread message

zhang

unread,
Nov 21, 2007, 6:15:04 AM11/21/07
to lzuossteam
同样的php代码,在windows下做测试时,每次都能发送成功,能收到信。
可是在linux下就有问题了,mail函数每次都能执行成功,返回值为true。可是我就是收不到信。
昨晚做的测试发的邮件我当时一份也每受到,今天打开邮箱一看,结果   邮件被反垃圾邮件网关过滤
显示的发信人为apa...@localhost.localdomain
请教这个问题怎样才能解决?
在redhat9.0下面做的
这是我linux下面php中关于mail函数的配置:

[mail function]
; For Win32 only.
;SMTP = localhost

; For Win32 only.
;sendmail_from = m...@localhost.com

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = /usr/sbin/sendmail -t -i


 

tomsu

unread,
Nov 21, 2007, 6:22:31 AM11/21/07
to lzuos...@googlegroups.com
那就把邮件过滤关掉,学校的邮箱有些正常邮件也过滤的。

在 07-11-21,zhang<zhang...@gmail.com> 写道:

Feng Sun

unread,
Nov 21, 2007, 6:28:29 AM11/21/07
to lzuos...@googlegroups.com
为什么php会使用apa...@localhost.localdomain这个邮件地址给你发信呢?
猜一下这个邮件地址的组成和你主机名等设置的关系,应该可以得出答案的。

在07-11-21,zhang < zhang...@gmail.com> 写道:



--

It's never too late to study.

zhang

unread,
Nov 21, 2007, 6:39:12 AM11/21/07
to lzuos...@googlegroups.com
我的主机名是localhost,可我还是不能联系到我的什么配置,这两天一直为这个问题烦!

zhang

unread,
Nov 21, 2007, 7:07:48 AM11/21/07
to lzuos...@googlegroups.com
我在apache的配置文件中 ServerAdmin 不是我现在想收信的那个邮箱
那apache为什么会发到我要收信的邮箱里呢?

 

Feng Sun

unread,
Nov 21, 2007, 9:17:59 AM11/21/07
to lzuos...@googlegroups.com
ServerAdmin 的邮箱是网站出错时,浏览网站的用户看到的网站管理员的邮件地址。
php中有个发邮件的函数,邮件的目的地址是你指定的,而邮件的源地址(发邮件的用户)就是你的 apa...@localhost.localdomain

在07-11-21,zhang <zhang...@gmail.com> 写道:
我在apache的配置文件中 ServerAdmin 不是我现在想收信的那个邮箱
那apache为什么会发到我要收信的邮箱里呢?

 



zhang

unread,
Nov 21, 2007, 11:41:16 PM11/21/07
to lzuos...@googlegroups.com
我理解你的意思。
 我是在php中的mail函数中写了我想收信的邮箱地址,可是发给我的信就被过滤了。
被过滤的邮件显示的发信人为apa...@localhost.localdomain ,同时我在发信时,也在mail函数中指定了发信人的地址,
 我就是想不通为什么
 1.在windos下可以发出去,而在linux下为什么会出现这些问题。
 2.被过滤的邮件显示的发信人为什么会是apa...@localhost.localdomain ,我指定的发信人不是这个地址。
 3.这个问题如何来解决?如何让发出去的信不被过滤?
由于昨天我这里gmail上不去,没能及时回信,抱歉。
 
 

 

ysjdx

unread,
Nov 23, 2007, 6:57:28 PM11/23/07
to lzuossteam
是不是兰大的邮箱不支持匿名发邮件??

win下的发邮件配置
Win下要复制php_imap.dll到 C:/winnt/system32
删除php.ini前面的;extension=php_imap.dll的分号,
修改php.ini里面的两行:
SMTP=localhost
sendmail_from=m...@localhost.com

需要认证的邮箱不能使用mail()
可以使用只允许本地匿名登陆的mail服务器
或者用现成的mail类,pear就有,可以去http://www.pearchina.com/查一下
将localhost改为邮件服务器的名称。将m...@localhost.com改为有效的邮件地址,在发送出的邮件中作为默认的From地址


在win下和linux下结果不一样似乎是不是验证方式不一样?
建议用有效的邮件地址发信,要不然很容易被K...
Reply all
Reply to author
Forward
0 new messages