首頁 php教程 php手册 PHPMailer发送邮件报错Msg:stream_socket_enable_crypto():

PHPMailer发送邮件报错Msg:stream_socket_enable_crypto():

May 25, 2016 pm 04:49 PM
phpmailer 傳送郵件 報錯

今天在本机测试好的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函数直接发送邮件哦.


文章网址:

随意转载^^但请附上教程地址。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

Column count doesn't match value count at row 1 - 如何解決MySQL報錯:列數與值不符 Column count doesn't match value count at row 1 - 如何解決MySQL報錯:列數與值不符 Oct 05, 2023 am 11:40 AM

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

Incorrect table definition; there can be only one auto column and it must be defined as a key - 如何解決MySQL報錯:錯誤的表定義;只能有一個自動列,並且必須定義為鍵 Incorrect table definition; there can be only one auto column and it must be defined as a key - 如何解決MySQL報錯:錯誤的表定義;只能有一個自動列,並且必須定義為鍵 Oct 05, 2023 am 11:05 AM

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

mysql報錯10060 mysql報錯10060 Sep 12, 2023 am 11:00 AM

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

原因分析:HTTP請求錯誤504網關逾時 原因分析:HTTP請求錯誤504網關逾時 Feb 19, 2024 pm 05:12 PM

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

解決方案:處理HTTP請求時出現的Socket Error 解決方案:處理HTTP請求時出現的Socket Error Feb 25, 2024 pm 09:24 PM

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

快速解決pyqt5安裝錯誤的步驟指南 快速解決pyqt5安裝錯誤的步驟指南 Jan 19, 2024 am 09:32 AM

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

Unknown column 'column_name' in 'where clause' - 如何解決MySQL報錯:where子句中的未知列 Unknown column 'column_name' in 'where clause' - 如何解決MySQL報錯:where子句中的未知列 Oct 05, 2023 am 11:15 AM

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

Unknown database 'database_name' - 如何解決MySQL報錯:未知資料庫名 Unknown database 'database_name' - 如何解決MySQL報錯:未知資料庫名 Oct 05, 2023 am 09:45 AM

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

See all articles