socket方式发送邮件速度太慢,最少要10秒.怎么提速?

klggg 2004-09-22 07:24:59
由于服务器不支持 mail函数,采用 socket方式发邮件,但总感觉速度太慢。一般要10多秒才能发送完成。
用 socket_set_blocking($this->_Fp,false);
设置端口成非阻塞状态,但每次服务方返回都是失败。
不知道大家怎么解决.
另同一个socketmail程序在我自己局域网站的linux系统下运行可以正常发邮件,但上传到我网上空间上运行就提示.
Warning: fsockopen(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /function/socketmail.php on line 225
很是迷惑.
...全文
306 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
entice 2005-01-24
  • 打赏
  • 举报
回复
用一个模拟线程去做...交给线程后,不用等到待直接显示发送出去的信息就行了...
blazingSnow 2004-09-27
  • 打赏
  • 举报
回复
对于发邮件这种东西,不要等待发送的结果,不然的确会很慢

实际上处理的方法是
把你要发的邮件存到数据库中,然后写一个程序从数据库中取出邮件再把它发出去
linux下,用php的话可以用crontab,windows下用服务
我用过这种方法,效果还不错,测试了一下,一天平均发个2000-4000封没问题
多了的话,还是用c++或者其他的方法吧
klggg 2004-09-27
  • 打赏
  • 举报
回复
ice_berg16(寻梦的稻草人)
loveconan(放牛娃娃)
能不能帖一下你们的发送代码?
也是采用 fsockopen 吗?
谢谢。
loveconan 2004-09-24
  • 打赏
  • 举报
回复
我这基本是瞬间
ice_berg16 2004-09-24
  • 打赏
  • 举报
回复
10秒确实慢了点,我这一般在3-4秒左右,即使这样,我还是要给用户友好提示,
klggg 2004-09-24
  • 打赏
  • 举报
回复
我试了用很其他的smtp服务器来发送也是很慢
Warning: fsockopen(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /function/socketmail.php on line 225

这个问题我解决了 在 fsockopen 把我的 smtp.xxx.com 改成 对应的IP地址就ok了。
估计我上传后的空间DNS解释有点问题。

现在我想到一种新的方法。采用c写个CGI程序。其功能就是用来发送邮件,该邮件发送程序将在后台以线程方式运行。这样提交邮件发送表单就可以达到类似linux下的mail 功能了.不知道这种想法可不可行?
tod204 2004-09-23
  • 打赏
  • 举报
回复
叫服务提供商配置一下php.ini.你的现在的服务器空间不支持fscoketopen
tod204 2004-09-23
  • 打赏
  • 举报
回复
10秒确实让人难以忍受..
feixuehenshui 2004-09-23
  • 打赏
  • 举报
回复
服务器空间不支持fscoketopen
应该网 2004-09-23
  • 打赏
  • 举报
回复
晕啊,服务器不支持mail函数,是什么服务器啊。

晕~~
pwtitle 2004-09-22
  • 打赏
  • 举报
回复
网络问题,没办法。
screend 2004-09-22
  • 打赏
  • 举报
回复
呵呵,网络慢,大概也没有什么好办法了,我用的是51.net的空间,感觉还可以,不知道楼住的smpt server是不是用的主机名,如果直接用ip可能会快一些

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧