php使用fsockopen时,fwrite中的rn及n结束符导致,smtp.qq.com响应出现有关问题
php使用fsockopen时,fwrite中的\r\n及\n结束符导致,smtp.qq.com响应出现问题
<?php $t= time();$sk = fsockopen('tcp://smtp.qq.com',25, $errno, $errstr, 5); echo "sockect ok:".(time()-$t)."\n"; if ( ! is_resource($sk) ) exit('connect error:'. $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).':'.(time()-$t) );//上面的不会超时echo "4:".(time()-$t)."\n<br />";var_dump( stream_get_meta_data( $sk ) );fclose($sk);
测试代码
可能qq的服务器在最近的更改中出现了变动,记得以前是可以使用\n来做为一行的结束符的,也就是一fwrite($sk,"kkk\n")就得到响应,fgets就能立刻成功,测试了一下163,\n是没有问题,最近发现qq的\n却出现问题,导致没有响应,fgets因为缓冲区没有内容导致异常,直到读超时.但是qq的换成了\r\n后就正常了.
所以smtp.qq.com,及smtp.exmail.qq.com都存在这个问题.
我开始以为是某些人说的变成了ssl的问题.却不是.现在的25端口还是可以正常使用的.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











오픈 소스에 대해 자세히 알아보려면 다음을 방문하세요. 51CTO Hongmeng 개발자 커뮤니티 https://ost.51cto.com 실행 환경 DAYU200:4.0.10.16SDK: 4.0.10.15IDE: 4.0.600 1. 애플리케이션을 생성하려면 파일을 클릭합니다. >새파일->CreateProgect. 템플릿 선택: [OpenHarmony]EmptyAbility: 프로젝트 이름 shici, 애플리케이션 패키지 이름 com.nut.shici 및 애플리케이션 저장 위치 XXX(한자, 특수 문자, 공백 없음)를 입력합니다. CompileSDK10, 모델: 스테이지. 장치

스트림 작업은 Java8의 하이라이트입니다! java.util.stream은 매우 강력하지만 실제 작업에서 이를 거의 사용하지 않는 개발자가 여전히 많습니다. 가장 불만이 많은 이유 중 하나는 스트리밍 작업과 같은 작업이 초기에는 실제로 그랬기 때문입니다. DEBUG에서는 스트림을 사용할 수 없기 때문에 한 줄의 코드일 경우 다음 단계로 넘어갈 때 실제로는 많은 작업이 한꺼번에 전달되기 때문에 어느 줄이 문제인지 판단하기 어렵습니다. 플러그인: JavaStreamDebugger 사용 중인 IDEA 버전이 비교적 새로운 버전인 경우 이 플러그인은 이미 포함되어 있으므로 설치할 필요가 없습니다. 아직 설치되지 않은 경우 수동으로 설치한 후 아래 단계를 계속 진행하세요.

comcn과 com의 차이점: 1. comcn과 com은 의미상 차이는 있지만 접속 속도에는 차이가 없습니다. 2. comcn은 국제 도메인 이름으로 다음 사용자가 사용하는 글로벌 최상위 도메인 이름입니다. cn은 중국 회사 도메인 이름이지만 국내 상업 기관, 국내 도메인 이름은 기업만 등록할 수 있습니다. 3. 검색 우선 순위는 cn이 .cn 서버를 찾은 후 .cn을 먼저 검색하는 것입니다. 그러면 서버는 .com을 검색합니다. 4. cn은 cnnic China Internet Center Management에서 제공하고 com의 관리 조직은 해외에 있습니다.

PHP 개발에서는 파일 작업이 매우 일반적입니다. 정상적인 상황에서는 파일 읽기, 쓰기, 삭제 및 기타 작업을 수행해야 합니다. 그 중 fopen 함수, fread 함수를 사용하여 파일을 읽을 수 있고, fopen 함수, fwrite 함수, fclose 함수를 사용하여 파일을 쓸 수 있습니다. 이 기사에서는 PHP가 fopen, fwrite 및 fclose를 사용하여 파일 작업을 수행하는 방법을 소개합니다. 1. fopen 함수 fopen 함수는 파일을 여는 데 사용됩니다. r은 다음과 같습니다.

java8의 스트림은 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提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

머리말 JavaStream은 개발자가 데이터 스트림을 빠르고 효율적으로 처리하고 변환하는 데 도움이 되는 강력한 데이터 처리 도구입니다. Stream 작업을 사용하면 코드가 크게 단순화되어 읽기 쉽고 유지 관리가 쉬워져 개발 효율성이 향상됩니다. filter(): 지정된 조건자를 기반으로 조건을 충족하는 요소를 유지합니다. map(): 지정된 함수에 따라 각 요소를 매핑하고 새 스트림을 생성합니다. flatMap(): 각 요소를 스트림에 매핑한 다음 이러한 스트림을 스트림으로 연결합니다. distinct(): 중복 제거된 스트림을 반환합니다. sorted(): Stre의 경우

마이크로소프트 365 로드맵 웹사이트(기능 ID: 186956)의 업데이트된 항목에서 레드몬드에 본사를 둔 마이크로소프트는 이 기능이 사용자에게 비디오의 시작, 끝 및 모든 클립을 다듬을 수 있는 편집 권한을 부여할 것이라고 말했습니다. "비디오를 다듬을 때 Stream은 원본 비디오 파일 자체를 변경하지 않습니다. 대신 뷰어에서 잘린 부분을 숨길 뿐입니다."라고 업데이트는 읽습니다. 그런 다음 StreamWeb 앱에서 비디오를 실행하고 향후 몇 달에 걸쳐 출시가 완료되면 편집 버튼을 클릭하여 이 기능을 시험해 볼 수 있습니다. 로드맵 업데이트에는 출시가 '2023년 3월'에 시작될 것이라고 명시되어 있습니다. 다만, 로드맵 항목이 2023년 11월 21일에 추가된 점을 감안하면
