検索
ホームページバックエンド開発PHPチュートリアルPHP が fsockopen を使用すると、fwrite の rn ターミネータと n ターミネータによって、smtp.qq.com の応答に関連した問題が発生します。

php が fsockopen を使用する場合、fwrite の rn および n ターミネータにより、smtp.qq.com 応答で問題が発生します

<?php $t= time();$sk = fsockopen(&#39;tcp://smtp.qq.com&#39;,25,		$errno,		$errstr,		5);		echo "sockect ok:".(time()-$t)."\n";	if ( ! is_resource($sk) )	exit(&#39;connect error:&#39;. $errno." ".$errstr);//设置成阻塞模式 stream_set_blocking  ($sk,1);//获取初次链接信息var_dump( fgets($sk,512) );//设置读超时stream_set_timeout( $sk, 3 );var_dump( stream_get_meta_data( $sk ) );fwrite($sk,"EHLO qidizi.com\n");//这个会导致超时,个人判断应该是qq在等待一行的输入结束符,但是\n却不是,应该是\r\n才是,就会卡在这里不输出提示,这个问题,在以前的版本,及当前测试时,的163.com上面都没有发现有这个问题//fwrite($sk,"EHLO qidizi.com\r\n");//正确的一行结束符\r\n,立刻会得到响应var_dump( fgets($sk,512).&#39;:&#39;.(time()-$t) );//上面的不会超时echo "4:".(time()-$t)."\n<br />";var_dump( stream_get_meta_data( $sk ) );fclose($sk);

テスト コード



最近の変更で qq サーバーが変更された可能性があります。以前は n を行末として使用できた、つまり fwrite($sk, "kkkn" ) して応答を取得できたことを思い出してください。 、fgets はすぐに成功します。163 をテストしたところ、n には問題がありませんでした。最近、qq の n に問題があることがわかりました。結果として、fgets はバッファーにコンテンツがないため、例外が発生します。しかし、qq は rn に変更すると正常になりました。


したがって、smtp.qq.com と smtp.exmail.qq.com の両方でこの問題が発生します。

SSL の問題ではないかと言う人もいましたが、そうではありませんでした。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
鸿蒙原生应用随机诗词鸿蒙原生应用随机诗词Feb 19, 2024 pm 01:36 PM

想了解更多关于开源的内容,请访问:51CTO鸿蒙开发者社区https://ost.51cto.com运行环境DAYU200:4.0.10.16SDK:4.0.10.15IDE:4.0.600一、创建应用点击File->newFile->CreateProgect。选择模版:【OpenHarmony】EmptyAbility:填写项目名,shici,应用包名com.nut.shici,应用存储位置XXX(不要有中文,特殊字符,空格)。CompileSDK10,Model:Stage。Device

IntelliJ IDEA中如何调试Java Stream操作IntelliJ IDEA中如何调试Java Stream操作May 09, 2023 am 11:25 AM

Stream操作是Java8推出的一大亮点!虽然java.util.stream很强大,但依然还是有很多开发者在实际工作中很少使用,其中吐槽最多的一个原因就是不好调试,一开始确实是这样,因为stream这样的流式操作在DEBUG的时候,是一行代码,直接下一步的时候,其实一下就过去了好多操作,这样我们就很难判断到底是里面的哪一行出了问题。插件:JavaStreamDebugger如果你用的IDEA版本比较新的话,这个插件已经是自带的了,就不需要安装了。如果还没安装的话,就手工安装一下,然后继续下面

comcn和com有什么区别comcn和com有什么区别May 12, 2023 pm 04:08 PM

comcn和com的区别:1、comcn和com在含义等方面有区别,在访问速度上没有区别;2、comcn属于国际域名,是全球通用顶级域名,供商业机构使用,而cn是中国的公司域名,国内商业机构,国内域名,必须企业才可以备案;3、搜索的优先顺序是cn先会去搜索.cn,找到.cn服务器后,再由.cn服务器搜索.com;4、cn由cnnic中国互联网中心管理,com的管理机构在国外。

php如何使用fopen、fwrite和fclose进行文件操作?php如何使用fopen、fwrite和fclose进行文件操作?Jun 01, 2023 am 08:46 AM

在PHP开发中,对文件的操作是非常常见的。一般情况下,我们需要进行文件的读取、写入、删除等操作。其中,文件的读取可以使用fopen函数和fread函数,文件的写入可以使用fopen函数、fwrite函数和fclose函数。本文将介绍php如何使用fopen、fwrite和fclose进行文件操作。一、fopen函数fopen函数用于打开文件,它的语法如下:r

java8的stream怎么取maxjava8的stream怎么取maxMay 14, 2023 pm 03:43 PM

java8的stream取maxpublicstaticvoidmain(String[]args){Listlist=Arrays.asList(1,2,3,4,5,6);Integermax=list.stream().max((a,b)->{if(a>b){return1;}elsereturn-1;}).get();System.out.println(max);}注意点:这里判断大小是通过正负数和0值。而不是直接写成if(a>b){returna;}elseretur

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code<form name="myform"

Java Stream API使代码更出色的操作方法是什么Java Stream API使代码更出色的操作方法是什么May 14, 2023 pm 06:22 PM

前言JavaStream是一种强大的数据处理工具,可以帮助开发人员快速高效地处理和转换数据流。使用Stream操作可以大大简化代码,使其更具可读性和可维护性,从而提高开发效率。filter():根据指定的Predicate保留符合条件的元素。map():根据指定的Function映射每个元素,生成一个新的Stream。flatMap():将每个元素映射为一个Stream,然后将这些Stream连接成一个Stream。distinct():返回一个去重后的Stream。sorted():对Stre

Microsoft 是否在 Microsoft Stream(在 SharePoint 上)中引入修剪视频?新的路线图更新是这样说的Microsoft 是否在 Microsoft Stream(在 SharePoint 上)中引入修剪视频?新的路线图更新是这样说的Nov 24, 2023 pm 11:13 PM

在Microsoft365Roadmap网站(功能ID:186956)上的更新条目中,这家总部位于雷德蒙德的科技巨头表示,此功能将赋予用户编辑权限,以修剪视频中的开头、结尾和任何片段。“当您修剪视频时,Stream不会更改原始视频文件本身。相反,它只是向观众隐藏了修剪的部分,“更新中写道。然后,您可以通过在StreamWeb应用程序中启动视频并在接下来的几个月内完成推出后单击编辑按钮来试用此功能。路线图更新指出,推出将于“2023年3月”开始。但是,鉴于路线图条目是在2023年11月21日添加的

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)