phpsmtp發信,php發短信

本文目錄一覽:

如何使用PHP通過SMTP發送電子郵件

使用PHP類可以實現,例如:phpmailer,下面是示例代碼

require(“class.phpmailer.php”); //這個是一個smtp的php文檔,網上可以下載得到

$mail = new PHPMailer(); //建立郵件發送類

$mail-CharSet = “UTF-8”;

$address =”sdasdsadsa@qq.com”;

$mail-IsSMTP(); // 使用SMTP方式發送

$mail-Host = “smtp.126.com”; // 您的企業郵局域名

$mail-SMTPAuth = true; // 啟用SMTP驗證功能

$mail-Username = “sffsdf@126.com”; // 郵局用戶名(請填寫完整的email地址)

$mail-Password = “123444”; // 郵局密碼

$mail-Port=25;

$mail-From = “sffsdf@126.com”; //郵件發送者email地址

$mail-FromName = “在線Q聊”;

$mail-AddAddress(“$address”, “a”);//收件人地址,可以替換成任何想要接收郵件的email信箱,格式是AddAddress(“收件人email”,”收件人姓名”)

//$mail-AddReplyTo(“”, “”);

//$mail-AddAttachment(“/var/tmp/file.tar.gz”); // 添加附件

$mail-IsHTML(true); // set email format to HTML //是否使用HTML格式

$mail-Subject = “在線Q聊”; //郵件標題

$mail-Body = “在線Q聊網站歡迎訪問”; //郵件內容,上面設置HTML,則可以是HTML

if(!$mail-Send())

{

    echo “郵件發送失敗. p”;

    echo “錯誤原因: ” . $mail-ErrorInfo;

    exit;

}

參見:

php通過 smtp發送郵件問題

程序中:$this-smtp_putcmd(“”, base64_encode($this-pass)

登陸密碼base64後明文發送,認證方式為未加密方式,163的郵箱支持未加密的認證,其他郵箱就未必了,而且像google郵箱也不接受來自本localhost主機發送的郵件,只接受開放smtp服務的主機發送郵件。

以下這段程序是原來寫的,探測smtp主機的,在$server數組中添加smtp主機就可以了,只有返回AUTH LOGIN PLAIN的才可以用你說的程序發送郵件:

?

set_time_limit( 0 );

$server = array(

“smtp.163.com”,

“smtp.sina.com”,

“smtp.google.com”,

);

echo “pre style=’font-size:12px;font-family:verdana'”;

foreach ( $server as $key = $val) {

$fp = fsockopen( $val, 25, $errno, $errstr, 10 );

if ( $errno !==0 ) {

echo(“Can not connect to $val .\r\n”);

continue;

}

echo “\r\nfont color=red$val/font \r\n”;

echo fread( $fp, 1024);

fputs( $fp, “EHLO localhost\r\n” );

echo fread( $fp, 1024 );

fclose( $fp );

php smtp發送郵件

哈哈 163 的郵箱 好像 得 07年之前註冊的可以 要不就是 06年之前的 我忘了 我曾經弄過 哈哈

php 如何通過smtp發送圖片郵件?

方法很多。

方法1:可以弄成html,找個服務器,郵件發送時發html就是

方法2:圖做成郵件附件

方法3:type= “image/jpeg”修改郵件文件屬性發送

如何在 BlueHost 空間中用 PHP 以 SMTP 方式發送郵件

你可以用 mail,sendmail 和 smtp 三種方式來藉助 Mail 類發送郵件。話說幾天前剛買了個 BlueHost 的空間,在上面跑程序的時候用 PHP 發郵件搞出點心得來,放在這裡跟大家分享。 首先我在系統中添加了一個郵件賬戶 test,密碼 123456,然後寫下了如下代碼: require_once( ‘Mail.php’); $conf = array( ‘host’ = ‘mail.yourdomail.com’, ‘auth’ = true, ‘username’ = ‘test’, ‘password’ = ‘123456’ ); $headers[‘From’] = ‘noreply@yourdomain.com’; $headers[‘To’] = $To; $headers[‘Subject’] = ‘=?GB2312?B?’ . base64_encode( $Subject) . ‘?=’; $headers[‘Content-Type’] = ‘text/plain; charset=gb2312’; $Mail = Mail::factory( ‘smtp’, $conf); $res = $Mail-send( $To, $headers, $Content); ? $To 是想要發送到的信箱地址,比如 foobar@gmail.com,$Subject 是郵件主題,$Content 是 GB2312 編碼的郵件正文。結果用以上程序屢試屢敗,後來經過多次試驗才得出在 BlueHost 主機上用 PHP 以 SMTP 方式發送郵件的正確方法,注意事項如下:1) BlueHost 幫助信息中說跟你賬戶(域名)相對應的 SMTP 主機地址是 mail.yourdomain.com,但其實應該是 localhost。你用 mail.yourdomain.com 只會得到 SMTP 拒絕鏈接的錯誤信息。2) SMTP 服務器需要驗證才能發郵件。3) SMTP 驗證時用戶名需要寫 user+yourdomain.com,不能寫 user@yourdomain.com。想想這個也好理解,在虛擬主機上一個 SMTP server 要支撐很多個賬戶,這種寫法應該是為了區別發件的賬戶。4) 郵件頭中的發件郵件賬戶一定要是存在於系統中的真實賬戶,象我上面那樣註冊了一個 test@yourdomain.com,但是發件人賬戶又寫 noreply@yourdomain.com 是不行的,只會得到這樣的錯誤信息:SMTP: Invalid response code received from server (code: 550, response: Verification failed for No Such User Here Sender verify failed) 知道了上面這 4 個注意事項以後就好辦了,刪掉剛才註冊的 test 郵件帳號,註冊一個 noreply 帳號,修改程序如下: require_once( ‘Mail.php’); $conf = array( ‘host’ = ‘localhost’, ‘auth’ = true, ‘username’ = ‘noreply+yourdomain.com’, ‘password’ = ‘123456’ ); $headers[‘From’] = ‘noreply@yourdomain.com’; $headers[‘To’] = $To; $headers[‘Subject’] = ‘=?GB2312?B?’ . base64_encode( $Subject) . ‘?=’; $headers[‘Content-Type’] = ‘text/plain; charset=gb2312’; $Mail = Mail::factory( ‘smtp’, $conf); $res = $Mail-send( $To, $headers, $Content); ? 郵件被成功的發送出去了,而且由於郵件服務器在美國,發送到 GMail 信箱非常之快,一般這邊一發那邊刷新一下就能看到新郵件:) 這裡再說些題外話,買了 BlueHost 的空間將近一周時間了,感覺美國的虛擬主機市場確實非常成熟,功能強大。跟國內價格還行但是配置超受限的主機比起來性價比高的不得了!只要你選對了服務提供商,可以說絕對讓你滿意。但是缺點也比較明顯,就是速度實在是慢!這裡面的原因眾所周知,感謝偉大的電信運營商,感謝偉大的 GFW! 今天跟 HostMonster 的客戶溝通了一下,問問他們那邊從中國過去的訪問速度怎麼樣,估計人家遇到這樣的情況不是個別現象,上來就是一句,我們對來自中國的訪問速度無法做出承諾。 國內的虛擬主機服務商有萬網這樣把大家當 SB 漫天要價的主,但是也有兢兢業業踏踏實實做服務的公司,不過性價比跟國外的運營商確實沒法比。一邊是價格高不了多少,動輒幾十 G 空間幾百 G 月流量,支持 SSH,支持多 Addon domain 的國外主機,一邊是價廉物不太美的國內主機,我想誘惑力是不言而喻的。但是速度,唉,傷心是一種說不出的痛!

PHP如何通過SMTP驗證發送郵件

PHP mail()與SMTP驗證

缺乏靈活性是PHP的mail()函數顯得過於簡單的部分原因。最重要而且令人沮喪的是,死板的mail()函數通常還不允許你使用你選擇的SMTP服務器,並且它也根本不支持如今已被眾多郵件服務器採用的SMTP驗證。

幸運的是,克服PHP本身的缺陷既不困難,也不麻煩,更不痛苦。對於大多數情況下的郵件應用,免費的PEAR Mail包足夠提供全部的所需功能與靈活性,並且它也能夠與你期望的外部郵件服務器進行驗證。在提高安全性的方面,它也支持SSL連接。

通過SMTP驗證在PHP腳本中發送郵件

在PHP腳本中通過SMTP驗證連接外部SMTP服務器並且發送郵件的方法如下:

確保PEAR Mail包已經安裝。

  通常,它已經安裝到了PHP之中,尤其在PHP 4及以後的版本中。放手一試吧。

?php

 require_once “Mail.php”;

 

 $from = “Sandra Sender s”;

 $to = “Ramona Recipient r”;

 $subject = “Hi!”;

 $body = “Hi,\n\nHow are you?”;

 

 $host = “mail.example.com”;

 $username = “smtp_username”;

 $password = “smtp_password”;

 

 $headers = array (‘From’ = $from,

   ‘To’ = $to,

   ‘Subject’ = $subject);

 $smtp = Mail::factory(‘smtp’,

   array (‘host’ = $host,

     ‘auth’ = true,

     ‘username’ = $username,

     ‘password’ = $password));

 

 $mail = $smtp-send($to, $headers, $body);

 

 if (PEAR::isError($mail)) {

   echo(“p” . $mail-getMessage() . “/p”);

  } else {

   echo(“pMessage successfully sent!/p”);

  }

 ?

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/196173.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-03 09:54
下一篇 2024-12-03 09:54

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若服務器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • PHP與Python的比較

    本文將會對PHP與Python進行比較和對比分析,包括語法特性、優缺點等方面。幫助讀者更好地理解和使用這兩種語言。 一、語法特性 PHP語法特性: <?php // 簡單的P…

    編程 2025-04-27
  • PHP版本管理工具phpenv詳解

    在PHP項目開發過程中,我們可能需要用到不同版本的PHP環境來試驗不同的功能或避免不同版本的兼容性問題。或者我們需要在同一台服務器上同時運行多個不同版本的PHP語言。但是每次手動安…

    編程 2025-04-24
  • PHP數組去重詳解

    一、array_unique函數 array_unique是php中常用的數組去重函數,它基於值來判斷元素是否重複,具體使用方法如下: $array = array(‘a’, ‘b…

    編程 2025-04-24
  • PHP導出Excel文件

    一、PHP導出Excel文件列寬調整 當我們使用PHP導出Excel文件時,有時需要調整單元格的列寬。可以使用PHPExcel類庫中的setWidth方法來設置單元格的列寬。下面是…

    編程 2025-04-24
  • php擴展庫初探

    一、什麼是php擴展庫? PHP擴展庫(PHP extension)是一些用C語言編寫的動態鏈接庫,用於擴展PHP的功能。PHP擴展庫使得PHP可以與各種數據庫系統相連、SMTP、…

    編程 2025-04-23

發表回復

登錄後才能評論