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函数直接发送邮件哦.
文章网址:
随意转载^^但请附上教程地址。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

如何解決MySQL報錯:列數與值不匹配,需要具體程式碼範例在使用MySQL資料庫進行資料操作的過程中,有時候會遇到報錯資訊:"Columncountdoesn'tmatchvaluecountatrow1",意思是列數與值的數量不匹配。這個錯誤通常發生在插入資料時,指定的列數與插入的值的數量不一致。本文將介紹具體的解決方法,並提供程式碼範例。檢查

如何解決MySQL報錯:錯誤的表定義;只能有一個自動列,並且必須定義為鍵,需要具體程式碼範例近年來,MySQL資料庫的應用越來越廣泛,但在使用過程中,我們經常會遇到各種報錯。其中,有一個常見的錯誤是「錯誤的表定義;只能有一個自動列,並且必須定義為鍵」。這個錯誤通常在我們創建表格時出現,可能對於初學者來說,有些頭痛。本文將為您詳細解析出現這個錯誤的原因,並提供具體

mysql報錯10060的解決方法有檢查MySQL伺服器是否正常運作、檢查網路連線、檢查防火牆設定、檢查MySQL伺服器設定、檢查MySQL使用者權限、檢查網路設定、檢查MySQL伺服器的最大連線數限制、使用IP位址取代主機名和重啟MySQL伺服器等。詳細介紹:1、檢查MySQL伺服器是否正常運作,首先確保MySQL伺服器正在運作並監聽正確的連接埠等等。

http請求報錯:504GatewayTimeout的原因簡介:在進行網路通訊中,客戶端透過發送HTTP請求與服務端互動。但是,有時在發送請求的過程中,我們可能會遇到一些錯誤訊息。其中之一就是504GatewayTimeout錯誤。本文將會探討這個錯誤的原因和解決方法。什麼是504GatewayTimeout錯誤? GatewayTimeo

http請求報錯:SocketError的解決方法在進行網路請求時,我們常常會遇到各種各樣的錯誤,其中一個常見的問題就是SocketError。當我們的應用程式無法與伺服器建立連線時,就會拋出這個錯誤。在本文中,我們將討論SocketError的一些常見原因和解決方法。首先,我們要了解Socket是什麼。 Socket是一種通訊協議,它允許應用程式通過

如果你正在學習Python並且想要開發GUI應用程序,那麼PyQt5是一個非常好的選擇。它是Python下PyQt函式庫的一個綁定版本,可以非常方便地實現對Qt圖形函式庫的呼叫和開發。不過,有時候你可能會在安裝PyQt5時遇到一些問題。本指南將為你提供一些快速解決安裝報錯問題的步驟,同時具體附上程式碼實例。確保Python版本正確PyQt5是基於Python的函式庫,因此首

Unknowncolumn'column_name'in'whereclause'-如何解決MySQL報錯:where子句中的未知列,需要具體程式碼範例MySQL是一種廣泛使用的關係型資料庫管理系統,它支援使用結構化查詢語言(SQL)進行資料的儲存、管理和檢索。然而,在使用MySQL進行查詢時,有時我們會遇到報錯,其中一個常見的錯誤是:Unkno

未知資料庫'database_name'-如何解決MySQL報錯:未知資料庫名,需要具體程式碼範例在使用MySQL時,有時會遇到報錯資訊:未知資料庫'database_name'。這個報錯資訊表示MySQL無法找到您所指定的資料庫。這可能是因為資料庫不存在,或者您沒有權限存取該資料庫。以下我們將探討一些可能的原因,並提供解決這個問題的具體程式碼範例。數據
