IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁系統(tǒng)集成網(wǎng)絡(luò)管理 → telnet smtp 535 Error的分析和解決

telnet smtp 535 Error的分析和解決

時(shí)間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

telnet可以幫助我們連接SMTP服務(wù)器,不少人都會(huì)嘗試這個(gè)方法來進(jìn)行服務(wù)器的連接。但是也有很多朋友發(fā)現(xiàn)其中會(huì)出現(xiàn)很多錯(cuò)誤。今天我們就來講解一下telnet smtp 535 Error的錯(cuò)誤內(nèi)容和解決方法。通過telnet smtp服務(wù)器的25端口檢查smtp服務(wù)器是否可用,或用程序采用socket通訊的方法與smtp服務(wù)器直接交互,往往在驗(yàn)證用戶的時(shí)候出現(xiàn)這樣的錯(cuò)誤提示535 Error: authentication failed

這是因?yàn)楫?dāng)服務(wù)器要求客戶端輸入帳號,密碼時(shí)必須是經(jīng)過base64碼轉(zhuǎn)換的.有的人也轉(zhuǎn)換了,但不知道為什么還出這種問題,實(shí)際上是因?yàn)槟愕霓D(zhuǎn)換沒有成功.這種失敗用.net socket編程時(shí)就比較多見.而用php作為工具進(jìn)行轉(zhuǎn)換就容易成功.筆者作過試驗(yàn),在.net中,由于沒有現(xiàn)成的Base64編碼函數(shù),于是從網(wǎng)上下了一個(gè)函數(shù),用此函數(shù)對郵箱帳號,密碼進(jìn)行編碼,在php中,有一個(gè)函數(shù)base64_encode() 可以直接調(diào)用,用php的函數(shù)直接對郵箱帳號,密碼進(jìn)行編碼。結(jié)果發(fā)現(xiàn)兩種結(jié)果不一樣,主要體現(xiàn)在對帳號的上,這兩種方式對后綴@163.com 編碼效果就不一樣,最后用telnet作測試,發(fā)現(xiàn)用php自帶的base64_encode() 編碼的結(jié)果是正確的.

這里還要提到兩個(gè)有趣的現(xiàn)象:

1.很多人認(rèn)為用telnet 25 或socket 通訊的方式與smtp服務(wù)器交互,可以確認(rèn)某個(gè)郵件帳號是否存在,例如輸入想要測試的郵箱帳號,再隨便輸個(gè)密碼,希望服務(wù)器返回帳號密碼錯(cuò)誤的信息,以確認(rèn)郵箱的確存在.但實(shí)際上這種方法多數(shù)情況下是不行的.因?yàn)榧词箮ぬ柎嬖?密碼錯(cuò)誤,或帳號錯(cuò)誤返回的信息都是一樣的,都是:telnet smtp 535 Error: authentication failed.從而無法判斷.

2.另一個(gè)是php和.net語法的的比較.php的確比.net語法上簡單多了.

例如要實(shí)現(xiàn)socket通訊,

.net 的語法是:

建立連接:

TcpCliet client = new TcpClient(server,port);

NetWorkStream stream = client.GetStream();

發(fā)送數(shù)據(jù):

byte[] arrayToSend=System.Text.Encoding.Default.GetBytes(stringToSend.ToCharArray());

stream.Write(arrayToSend,0,arrayToSend.Length);

得到數(shù)據(jù):

int len = stream.Read(bb,0,bb.Length);

string read=System.Text.Encoding.UTF8.GetString(bb);

string result= read.Substring(0, len);

php就一句,類似:

建立連接

$fp=fsockopen ( $this->smtp, 25, $errno, $errstr, 60);

發(fā)送數(shù)據(jù)

fputs($fp, $lastact);

取數(shù)據(jù)

$lastmessage == fgets($fp,512);

再如要實(shí)現(xiàn)字符串轉(zhuǎn)換為base64格式

.net

沒現(xiàn)成的(可能是我不知道),還要從網(wǎng)上下一個(gè)函數(shù),編譯到自己的工程中.

php

提供了base64_encode() 搞定.其實(shí)這也體現(xiàn)了.net的確比較嚴(yán)謹(jǐn),主要是對類,類型轉(zhuǎn)換很嚴(yán)格,但的確是麻煩,也不好記.希望以上的方法,能夠幫助大家解決telnet smtp 535 Error的問題。

關(guān)鍵詞標(biāo)簽:telnet,smtp,535,Erro

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 路由器地址大全-各品牌路由設(shè)置地址 路由器地址大全-各品牌路由設(shè)置地址 各品牌的ADSL與路由器出廠默認(rèn)IP、帳號、密碼 各品牌的ADSL與路由器出廠默認(rèn)IP、帳號、密碼 Nslookup命令詳解-域名DNS診斷 Nslookup命令詳解-域名DNS診斷 站長裝備:十大網(wǎng)站管理員服務(wù)器工具軟件 站長裝備:十大網(wǎng)站管理員服務(wù)器工具軟件

相關(guān)下載

    人氣排行 各品牌的ADSL與路由器出廠默認(rèn)IP、帳號、密碼 路由器地址大全-各品牌路由設(shè)置地址 騰達(dá)路由器怎么設(shè)置?騰達(dá)路由器設(shè)置教程 ADSL雙線負(fù)載均衡設(shè)置詳細(xì)圖文教程 路由表說明(詳解route print) Nslookup命令詳解-域名DNS診斷 網(wǎng)管員實(shí)際工作的一天 網(wǎng)管必會(huì)!了解交換機(jī)控制端口流量