Rumah pembangunan bahagian belakang tutorial php php使用fsockopen时,fwrite中的rn及n结束符导致,smtp.qq.com响应出现有关问题

php使用fsockopen时,fwrite中的rn及n结束符导致,smtp.qq.com响应出现有关问题

Jun 13, 2016 am 11:57 AM
com fwrite quot stream

php使用fsockopen时,fwrite中的\r\n及\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);
Salin selepas log masuk

测试代码



可能qq的服务器在最近的更改中出现了变动,记得以前是可以使用\n来做为一行的结束符的,也就是一fwrite($sk,"kkk\n")就得到响应,fgets就能立刻成功,测试了一下163,\n是没有问题,最近发现qq的\n却出现问题,导致没有响应,fgets因为缓冲区没有内容导致异常,直到读超时.但是qq的换成了\r\n后就正常了.


所以smtp.qq.com,及smtp.exmail.qq.com都存在这个问题.

我开始以为是某些人说的变成了ssl的问题.却不是.现在的25端口还是可以正常使用的.

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Aplikasi asli Hongmeng puisi rawak Aplikasi asli Hongmeng puisi rawak Feb 19, 2024 pm 01:36 PM

Untuk mengetahui lebih lanjut tentang sumber terbuka, sila lawati: Komuniti Pembangun 51CTO Hongmeng https://ost.51cto.com Persekitaran berjalan DAYU200:4.0.10.16SDK: 4.0.10.15IDE: 4.0.600 1. Untuk membuat aplikasi, klik Fail- >newFile->CreateProgect. Pilih templat: [OpenHarmony] EmptyAbility: Isikan nama projek, shici, nama pakej aplikasi com.nut.shici dan lokasi storan aplikasi XXX (tiada bahasa Cina, aksara khas atau ruang). CompileSDK10, Model: Stage. Peranti

Apakah perbezaan antara comcn dan com Apakah perbezaan antara comcn dan com May 12, 2023 pm 04:08 PM

Perbezaan antara comcn dan com: 1. Terdapat perbezaan antara comcn dan com dari segi makna, tetapi tiada perbezaan dalam kelajuan akses 2. comcn ialah nama domain antarabangsa dan merupakan nama domain peringkat atasan global untuk digunakan oleh institusi komersial, manakala cn adalah nama domain syarikat China, institusi komersial domestik, nama domain domestik, hanya perusahaan boleh mendaftar 3. Keutamaan carian ialah cn akan mencari .cn terlebih dahulu pelayan kemudiannya akan mencari .com 4. cn disediakan oleh Pengurusan Pusat Internet China cnnic, organisasi pengurusan com berada di luar negara.

Bagaimana untuk menyahpepijat operasi Java Stream dalam IntelliJ IDEA Bagaimana untuk menyahpepijat operasi Java Stream dalam IntelliJ IDEA May 09, 2023 am 11:25 AM

Operasi strim ialah kemuncak Java8! Walaupun java.util.stream sangat berkuasa, masih terdapat banyak pembangun yang jarang menggunakannya dalam kerja sebenar kerana aliran tidak boleh digunakan dalam DEBUG Apabila ia adalah satu baris kod, apabila sampai ke langkah seterusnya, banyak operasi sebenarnya diluluskan sekaligus, jadi sukar untuk kita menilai baris mana yang menjadi masalah. Pemalam: JavaStreamDebugger Jika versi IDEA yang anda gunakan agak baharu, pemalam ini sudah disertakan dan tidak perlu dipasang. Jika ia belum dipasang, pasangkannya secara manual dan kemudian teruskan di bawah.

Bagaimana untuk mendapatkan nilai maksimum dari aliran dalam java8 Bagaimana untuk mendapatkan nilai maksimum dari aliran dalam java8 May 14, 2023 pm 03:43 PM

Strim java8 mengambil 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(maks);}Nota: Saiz ditentukan di sini melalui nombor positif dan negatif serta 0 nilai. Daripada menulisnya terus jika(a>b){returna;}elseretur

Bagaimana untuk menggunakan fopen, fwrite dan fclose dalam php untuk operasi fail? Bagaimana untuk menggunakan fopen, fwrite dan fclose dalam php untuk operasi fail? Jun 01, 2023 am 08:46 AM

Dalam pembangunan PHP, operasi fail adalah sangat biasa. Dalam keadaan biasa, kita perlu melakukan operasi membaca, menulis, memadam dan lain-lain fail. Antaranya, fungsi fopen dan fungsi fread boleh digunakan untuk membaca fail, dan fungsi fopen, fungsi fwrite dan fungsi fclose boleh digunakan untuk menulis fail. Artikel ini akan memperkenalkan cara PHP menggunakan fopen, fwrite dan fclose untuk melaksanakan operasi fail. 1. fungsi fopen Fungsi fopen digunakan untuk membuka fail Sintaksnya adalah seperti berikut: r

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

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

Bagaimana Java Stream API menjadikan kod anda lebih baik Bagaimana Java Stream API menjadikan kod anda lebih baik May 14, 2023 pm 06:22 PM

Prakata JavaStream ialah alat pemprosesan data yang berkuasa yang boleh membantu pembangun memproses dan mengubah aliran data dengan cepat dan cekap. Menggunakan operasi Strim boleh memudahkan kod, menjadikannya lebih mudah dibaca dan diselenggara, sekali gus meningkatkan kecekapan pembangunan. filter(): mengekalkan elemen yang memenuhi syarat berdasarkan Predikat yang ditentukan. map(): Petakan setiap elemen mengikut Fungsi yang ditentukan dan menjana Strim baharu. flatMap(): Memetakan setiap elemen ke Strim, dan kemudian menggabungkan Strim ini ke Strim. distinct(): Mengembalikan Strim yang dinyahduplikasi. sorted(): untuk Stre

Adakah Microsoft memperkenalkan video yang dipangkas dalam Microsoft Stream (di SharePoint)? Inilah yang dikatakan kemas kini peta jalan baharu Adakah Microsoft memperkenalkan video yang dipangkas dalam Microsoft Stream (di SharePoint)? Inilah yang dikatakan kemas kini peta jalan baharu Nov 24, 2023 pm 11:13 PM

Dalam entri yang dikemas kini pada tapak web Microsoft 365 Roadmap (Feature ID: 186956), gergasi teknologi berasaskan Redmond itu berkata ciri itu akan memberi pengguna kebenaran mengedit untuk memangkas permulaan, akhir dan sebarang klip dalam video. "Apabila anda memangkas video, Strim tidak mengubah fail video asal itu sendiri. Sebaliknya, ia hanya menyembunyikan bahagian yang dipangkas daripada penonton," kemas kini itu berbunyi. Anda kemudian boleh mencuba ciri ini dengan melancarkan video dalam apl StreamWeb dan mengklik butang edit setelah pelancaran selesai dalam beberapa bulan akan datang. Kemas kini peta jalan menyatakan bahawa pelancaran akan bermula pada "Mac 2023." Walau bagaimanapun, memandangkan kemasukan peta jalan telah ditambahkan pada 21 November 2023

See all articles