SMTP Error: Could not connect to SMTP host

PHPMailer是一個很是棒的開源郵件類,使用也很是簡單,可是對於虛擬主機來講,每每要受到各類限制。剛纔我在虛擬主機上使用PHPMailer就遇到一個「SMTP Error: Could not connect to SMTP host」錯誤。下面介紹兩種解決辦法:php

這個錯誤說明虛擬主機不支持PHPMailer默認調用的fsockopen函數,找到class.smtp.php文件,搜索fsockopen,就找到了這樣一段代碼:socket

使用stream_socket_client函數tcp

通常fsockopen()被禁,pfsockopen也有可能被禁,因此這裏介紹另外一個函數stream_socket_client()。函數

stream_socket_client的參數與fsockopen有所不一樣,因此代碼要修改成:this

$this->smtp_conn = stream_socket_client("tcp://".$host.":".$port, $errno,  $errstr,  $tval);blog

這樣就能夠了。class

相關文章
相關標籤/搜索