PHPMailer发送邮件报错Msg:stream_socket_enable_crypto():
今天在本机测试好的phpmailer邮箱发送功能没有问题,本地是windows apache php环境但在了linux中发送邮件就出现了Msg:stream_socket_enable_crypto(): this stream does not support SSL/crypto错误了,后来我分析了N久得出一办法,下面分享给各位朋友。
我的PHPMailer发送邮件代码
header("Content-type:text/html;charset=utf-8"); include('phpmailer/class.phpmailer.php'); include('phpmailer/class.smtp.php'); $mail = new PHPMailer(); $mail->IsSMTP(); // set mailer to use SMTP $mail->Host = "smtp.sohu.com"; // SMTP服务器 $mail->Port = 25; $mail->SMTPAuth = true; // SMTP认证? $mail->Username = "yourmail@sohu.com"; // 用户名 $mail->Password = "yourmail168"; // 密码 $mail->From = "spr_zsql@163.com"; //发件人地址 $mail->FromName = "test"; //发件人 $mail->AddAddress("yourmail@qq.com", "test"); //收件人地址,收件人名称 $mail->WordWrap = 50; // //$mail->AddAttachment("/var/tmp/file.tar.gz"); // 附件 //$mail->AddAttachment("/tmp/image.jpg", "new.jpg"); // 附件,新文件名 $mail->IsHTML(true); // HTML格式 $mail->Subject = "测试"; $mail->Body = "测试"; if(!$mail->Send()) { echo "Mailer Error: " . $mail->ErrorInfo; echo "发送邮件错误!"; }else{ echo "邮件发送成功!"; }
在使用PHPMailer发送邮件报错Msg:stream_socket_enable_crypto(): this stream does not support SSL/crypto,出现这种情况请输出phpinfo()看下openssl这个扩展没有安装,查找php安装时源码包的位置以/usr/local/src/php/php-5.3为例子,代码如下:
cd /usr/local/src/php/php-5.3/ext/openssl
/usr/local/php/bin/phpize
可能会出现下面的错误,代码如下:
Cannot find config.m4.
Make sure that you run '/usr/local/php/bin/phpize' in the top level source directory of the module
解决办法,代码如下:
mv config0.m4 config.m4
/usr/local/php/bin/phpize
./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config
make && make install安装成功后会有以下提示
Build complete.
Don't forget to run 'make test'.
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/
/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/ 改目录下回生成一个openssl.so文件,找到php的配置文件,在扩展区域添加如下代码:
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/openssl.so
ps -ef | grep php-fpm | grep -v grep | awk '{print $2}'|xargs kill -9
/usr/local/php/sbin/php-fpm
如果你配置了还不能发送邮箱我们可以尝试在linux中直接使用mail函数直接发送邮件哦.
文章网址:
随意转载^^但请附上教程地址。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Cara menyelesaikan ralat MySQL: Bilangan lajur tidak sepadan dengan nilai Contoh kod khusus diperlukan Apabila menggunakan pangkalan data MySQL untuk operasi data, kadangkala anda akan menemui mesej ralat: "Columncountdoesn'tmatchvaluecountatrow1", yang bermaksud nombor itu. daripada lajur tidak sepadan dengan bilangan nilai padanan. Ralat ini biasanya berlaku apabila memasukkan data dan bilangan lajur yang dinyatakan tidak konsisten dengan bilangan nilai yang dimasukkan. Artikel ini menerangkan penyelesaian khusus dan menyediakan contoh kod. meneliti

Bagaimana untuk menyelesaikan ralat MySQL: Takrif jadual yang salah hanya boleh ada satu lajur automatik dan ia mesti ditakrifkan sebagai kunci Contoh kod khusus diperlukan Dalam beberapa tahun kebelakangan ini, pangkalan data MySQL telah digunakan secara meluas, tetapi semasa penggunaan , kami sering menghadapi Pelbagai laporan ralat. Antaranya, ralat biasa ialah "takrif jadual yang salah; hanya boleh ada satu lajur automatik dan ia mesti ditakrifkan sebagai kunci". Ralat ini biasanya berlaku apabila kami membuat jadual, yang mungkin menyakitkan kepala untuk pemula. Artikel ini akan memberi anda analisis terperinci tentang sebab ralat ini dan memberikan yang khusus

Penyelesaian kepada ralat mysql 10060 termasuk menyemak sama ada pelayan MySQL berjalan seperti biasa, menyemak sambungan rangkaian, menyemak tetapan firewall, menyemak konfigurasi pelayan MySQL, menyemak kebenaran pengguna MySQL, menyemak konfigurasi rangkaian, menyemak had bilangan maksimum sambungan pelayan MySQL, dan menggunakan alamat IP dan bukannya Nama hos dan mulakan semula pelayan MySQL, dsb. Pengenalan terperinci: 1. Periksa sama ada pelayan MySQL berjalan seperti biasa Pertama, pastikan pelayan MySQL berjalan dan mendengar port yang betul, dsb.

Pengenalan ringkas kepada sebab ralat permintaan http: 504GatewayTimeout: Semasa komunikasi rangkaian, pelanggan berinteraksi dengan pelayan dengan menghantar permintaan HTTP. Walau bagaimanapun, kadangkala kami mungkin menghadapi beberapa mesej ralat semasa proses menghantar permintaan. Salah satunya ialah ralat 504GatewayTimeout. Artikel ini akan meneroka punca dan penyelesaian kepada ralat ini. Apakah ralat 504GatewayTimeout? GatewayTimeo

Ralat permintaan http: Penyelesaian kepada SocketError Apabila membuat permintaan rangkaian, kita sering menghadapi pelbagai ralat Salah satu masalah biasa ialah SocketError. Ralat ini dilemparkan apabila aplikasi kami tidak dapat mewujudkan sambungan dengan pelayan. Dalam artikel ini, kami akan membincangkan beberapa punca dan penyelesaian biasa SocketError. Pertama, kita perlu memahami apa itu Socket. Soket ialah protokol komunikasi yang membolehkan aplikasi untuk

Unknowncolumn'column_name'in'whereclause'-Cara menyelesaikan ralat MySQL: lajur tidak diketahui dalam klausa di mana, contoh kod khusus diperlukan MySQL ialah sistem pengurusan pangkalan data hubungan yang digunakan secara meluas yang menyokong penggunaan Bahasa Pertanyaan Berstruktur (SQL). Penyimpanan, pengurusan dan pengambilan semula data. Walau bagaimanapun, apabila menggunakan MySQL untuk membuat pertanyaan, kadangkala kita akan menghadapi ralat Salah satu ralat yang biasa ialah: Unkno

Jika anda belajar Python dan ingin membangunkan aplikasi GUI, PyQt5 ialah pilihan yang sangat baik. Ia adalah versi terikat perpustakaan PyQt di bawah Python, yang menjadikannya sangat mudah untuk memanggil dan membangunkan perpustakaan grafik Qt. Walau bagaimanapun, kadangkala anda mungkin menghadapi beberapa masalah semasa memasang PyQt5. Panduan ini akan memberikan anda beberapa langkah untuk menyelesaikan masalah ralat pemasangan dengan cepat, dan juga melampirkan contoh kod tertentu. Pastikan versi Python adalah betul PyQt5 ialah perpustakaan berasaskan Python, jadi pertama sekali

Pangkalan data tidak diketahui 'database_name' - Cara menyelesaikan ralat MySQL: Nama pangkalan data tidak diketahui, contoh kod khusus diperlukan Apabila menggunakan MySQL, kadangkala anda akan menemui mesej ralat: Pangkalan data tidak diketahui 'database_name'. Mesej ralat ini menunjukkan bahawa MySQL tidak dapat mencari pangkalan data yang anda tentukan. Ini mungkin kerana pangkalan data tidak wujud atau anda tidak mempunyai kebenaran untuk mengakses pangkalan data. Di bawah ini kami akan meneroka beberapa kemungkinan punca dan memberikan contoh kod khusus untuk menyelesaikan isu tersebut. data
