程式設計師跟著大師源碼學習系列之2:查看網頁和電子郵件的源碼

2020-12-21 clq的程式設計師學前班

在最近的文章中有大量電子郵件相關的內容,已經有不少同學上手發送了很多的郵件到我的測試郵箱中。坦率地說,有不少同學發送的電子郵件格式都是錯誤的 ... 那麼拋開各種深奧地理論,有沒有一種方法可以看看 163,gmail 它們的郵件格式源碼是什麼樣的呢?

答案肯定是有的,首先電子郵件也好,網頁也好他們的格式其實都是 mime 。所以我們先來看看怎樣查看一個漂亮網頁的源碼吧。說到這裡估計做過網頁的同學都會說,打開瀏覽器右鍵菜單就會有啊。沒錯現在的瀏覽器基本上都有這個功能,不過我還是要在這裡多說一下,雖然現在的瀏覽器基本都有查看源碼的功能,不過我這裡要推薦使用 firefox 瀏覽器來查看源碼,因為它的功能最強大。最新版本中的 firefox 中的查看源碼功能強大到一度讓著名的網頁開發調試工具宣布停止更新,建議大家直接使用 firefox 自帶的"查看源碼功能"(正式的名稱應該是 "web開發者工具")。打開它的方法很簡單:在一個頁面中點擊右鍵,然後在彈出菜單中選擇"查看元素"就可以了。如圖:

打開firefox的開發者工具

打開後可以看到有很多選項卡,默認就是查看網頁源碼的"查看器"頁面,這也是廣大網頁開發者最常用的功能,滑鼠在各個節點上划過時還會在原網頁上高亮顯示,確實是非常的方便好用。不過這不是我們要說的重點。我們還是來介紹一下一個鮮為人知的部分吧:修改後查看結果。傳統的保守老派開發一定很吃驚,什麼一個查看源碼的工具還有這功能?真的有,我發現這個功能時也很是意外,現在工具軟體的發展真是快啊。以修改 body 部分的字體為例,先在右邊的"規則"選項卡中找到 body 部分,然後雙擊一下節點,神奇的一幕出現了,你會發現它是可以編輯的!如圖:

可以直接編輯網頁

然後修改 font 部分,更神奇的一幕出現了:網頁的內容改變了,我們居然可以修改一個網站的顯示頁面!雖然這只是本機的緩存,但這對網頁的開發者來說是個多麼大的借鑑的機會啊。有了這個功能你就可以測試某個大網站上這個 css 樣式是為什麼要這樣寫,如果不這樣換個方式會有什麼結果 ... 真的是太方便了。

那麼問題來了,電子郵件有這樣查看源碼的工具嗎?有的,不過不是在網頁上,要看到電子郵件的源碼,我們不能直接打開 163 的網站用這種方式去查看。而是要用一些傳統的郵件客戶端。要使用這些客戶端之前,請打開您的電子郵箱的 smtp/pop3 功能,因為現在好多電子郵箱都是默認不打開的,有些甚至直接不支持。然後我們來看看哪些郵件客戶端支持查看源碼:其實最早期的著名軟體 foxmail 就支持,在收取到的電子郵件上點擊右鍵就可以查看到源碼。如圖:

foxmail查看郵件源碼

這裡我用的是 foxmail 4.2 的經典版本,大家搜索看看,應該還有很多地方還要以下載到。

好了,第二個問題,我想像 firfox 那樣,修改一下郵件的標題試試 ... ... 這個,foxmail 真做不到。在這裡我很不好意思的介紹一下自己寫的一個軟體:eEmail ,因為我其實沒找到還有其他能直接修改郵件內容並查看的軟體。如果大家知道的話也可以給我留言,我很樂意向大家再推薦。軟體是我多年前寫的了,這個修改郵件功能就是 foxmail 沒有我才加入的,因為我自己在電子郵件的開發過程中經常要用這個功能。eEmail 也可以在很多地方都搜索到下載,不過基本上都是老版本,特別是郵件格式兼容性上比較老了,有些問題。大家可以到以下網址下載最新的:

newbt.net/ms/vdisk/show_bbs.php?id={B7106D5A-A5CB-3CFE-DFEB-4A4909A9B13A}&pid=43

使用的方法和 foxmail 差不多,郵件上點擊右鍵後即可查看源碼,還可以修改保存後看看有什麼變化。也可以將修改後的郵件發送出去看看"別人"是怎樣解碼的,因為不同的軟體解碼結果有時候是不太一樣的,這樣就可以測試您編寫的郵件格式是不是有問題了。為免嫌疑我就不貼自己軟體的截圖了。也很歡迎大家反饋有相同功能的軟體,因為我自己也需要。

好了,以上工具的這部分功能介紹就是這樣了,希望大家喜歡。

相關焦點

  • 程式設計師跟著大師源碼學習系列之1:查看VC6的運行庫源碼
    在前面的幾篇文章中,我們看到了大量的 C 語言源碼,估計大家都看得比較暈(特別是初學者)。其實對於學習編程來說,一個非常有效的方法就是學習前人,特別是大師級的源碼。這裡有個關鍵的問題:誰是大師?大師寫的哪一些代碼值得我們學習呢?
  • 「大神部落」是程式設計師網站源碼交易部落
    程式設計師的表白,開放源碼,造服大家。  首先感謝大神,是他給了我激情和想法,感謝他的開源精神,造福大家。  作為一個近10年從業經驗的程式設計師,或多或少都有幾十套自己寫的源碼程序,按照一般的思維應該是好好珍藏,省的讓別人不勞而獲。
  • 【程式設計師分享】基於SpringBoot開發的天貓商城源碼
    前言 大家好,我是程式設計師it分享師,應粉絲的要求,今天給大家帶來一個基於Springboot開發的天貓商城的源碼! 使用技術 天貓商城系統使用的是Spring,SpringMvc,SpringBoot和mybatis開發而成的! 有前臺網頁和後臺管理兩個登錄地址!
  • 「計算機畢設」一個精美的JAVA博客系統源碼分享
    前言大家好,我是程式設計師it分享師,今天給大家帶來一個精美的博客系統源碼!可以自己買一個便宜的雲伺服器,當自己的博客網站,記錄一下自己學習的心得。開發技術博客系統源碼基於SpringBoot,shiro,Bootstrap,JPA等技術開發而成。有前臺網頁和後臺管理兩個訪問地址。具體實現了文章,圖片視頻的發布;按標籤分類,支持ueditor,markdown編輯器;支持評論回復,關注,QQ,微博等第三方的登錄;站內搜索,響應式布局和訂閱功能。
  • 想去阿里的程式設計師欲研究nginx源碼,網友給列出提綱,誠意滿滿!
    圖片來之網際網路這名程式設計師近期有個理想,他是在一個小公司,他想進入像百度,騰訊,阿里這樣的大公司,但是也沒有一個比較像樣的優勢在,在面試的時候也沒有什麼談資,於是他準備先研究一下nginx作者點評:好主意,可以組隊學習,形成學習圈子,一起交流分享!網友八:看源碼能快速解bug,再深入一點學點設計模式作者點評:是的,了解了底層,自然對其中原理比較熟悉,設計模式也是程式設計師需要掌握的一個必備知識!
  • 淺談開源的可視化建站類程序源碼
    好不容易下載下來的,都是幾乎過時的東西,不過也找了幾個能用的,今天筆者就帶大家分享分享我的心得和相關網際網路出來的開源系統。1:建站之星如果說可視化建站系統最久遠的,那絕對是建站之星2.7了,網上找了還附送3000套模板和視頻的。筆者滿懷希望的花了19.9在某站網上下的,結果下載後,震驚。
  • 源碼編譯安裝PHP7+swoole4,其實很簡單
    俗話說:「技多不壓身」,雖然平時很少去編譯安裝PHP等其它軟體,但是作為一個程式設計師,這點東西還是有必要掌握的,萬一以後轉運維了咋整?下面就跟小編一起來學習下PHP編譯安裝吧!PHP7.2第一步:下載PHP7.2源碼(最好是PHP官網下載)命令:wget http://am1.php.net/distributions/php-7.2.1.tar.gz
  • 開課吧雙十二教育節:助力學員輕鬆掌握Spring AOP源碼
    近年來,Spring AOP源碼已然成為國內網際網路大廠面試JAVA程式設計師必問問題。想要進入網際網路大廠的Java程式設計師,生澀難懂的Spring AOP源碼是一個繞不過去的坎。開課吧的「面試官最愛問的Spring AOP源碼全解析訓練營」,非常適合使用過Spring框架的小夥伴以及想要輕鬆進入網際網路大廠的JAVA程式設計師。
  • 程式設計師福利:優質的項目源碼,這也太贊啦~
    APP項目使用RxJava+Retrofit2.0+MVP 後臺查詢使用LeanCloud REST API主要實現了商品列表的獲取(加載更多和刷新)與展示,根據商品種類查詢二、簡訊轉發工具,自動轉發簡訊到手機或郵箱在安卓巴士官網搜索標題下載
  • 安卓源碼避坑指南3——撥打電話的SIM卡無效導致藍牙斷開連接
    撥打電話的SIM卡無效導致藍牙斷連它來了、它來了,它帶著BUG趕來了,歡迎大家查看本期的安卓源碼避坑指南。本期的問題場景比較特殊,電話SIM卡是無效的(欠費過期了,很是貧窮…)。開開心心地上著班、摸著魚(笑臉),突然工作郵件提醒,一經查看原來是QA同學甩過來個問題。那咱就話不多說,先簡單介紹下本篇的問題場景。
  • Bilibili的網站後臺源碼被發到了GitHub上?
    網站已經執行了主動的防禦措施,確認此事件不會影響到網站安全和用戶數據安全。 如果黑客想通過B站後端代碼攻擊B站,以前他需要做的事情是逆向B站的代碼,猜測其運作原理和漏洞位置,但是現在他可以直接閱讀源碼,從中找到很多不為人知的漏洞。這就為某些黑產提供了便利,例如,他會利用這份代碼找到視頻方面的漏洞然後盜取未公開視頻;通連接到後臺資料庫做一些提權,獲取用戶信息。
  • 前端程式設計師必備的5大網站,其中一個網站源碼在github有5萬多星!
    最近,有部分粉絲問w3cschool這樣一個問題:前端程式設計師會不會被淘汰?其實,有這種危機意識為時尚早。倘若沒有多花一些時間學習,自身能力不夠,做什麼遲早都會被淘汰。不過,有些程式設計師不知道學習前端從何下手,w3cschool給小夥伴們介紹5個好網站:0、freecodecampFreeCodeCamp可以說是入門前端的神器,是全球最火的Web開發學習平臺之一。
  • seo建站篇之織夢(dedecms)網站源碼安裝圖文教程
    很多人在使用織夢去搭建網站時遇到了一些問題,對應初次搭建網站該注意什麼內容,今天,西安seo在這裡,給大獎講講,關於seo建站篇之織夢(dedecms)網站源碼安裝圖文的相關教程,讓大家都學會如何使用織夢去將網站搭建出來。
  • Windows XP 源碼、多個版本 NT 內核源碼洩露
    4chan 論壇的一名用戶發帖稱 Windows XP 源碼已被洩露,並在帖子裡面附上了一張正在解壓 Windows NT 內核源碼的截圖
  • 教育類APP源碼,在線教育源碼,網校源碼開發模式主要有這五大類
    教育類APP源碼開發優勢: 1、可以讓學生隨時隨地學習,節約資金 與傳統教育模式相比,在線教育源碼搭建的在線教育系統可以打破空間和時間限制,讓學生隨時隨地進行學習,而且還可以多終端進行登錄學習,給學生提供了大的便利,還節省了學校的學校場地費
  • Java並發ConcurrentSkipListMap源碼學習與總結
    ,key和value分別為put進來的key和value,next表示下一個節點。put方法分析通過上一篇跳表的學習,可以得出put方法主要分兩步:1、找到key在完整鍊表中的位置,然後put進去;2、判斷是否升級,如果升級就把升級節點添加到跳表網中;先來分析第一步,和之前跳表實現一樣
  • Java HashSet源碼分析
    2.根據 hashmap 的 put()方法源碼可知,實際上是覆蓋操作,雖然覆蓋對象的 key 和 value 都完全一致。源碼分析首先查看下源碼結構,發現該類源碼相對比較簡單3.1 構造方法3.2 添加元素 add()可以看到添加的對象直接作為 Hashmap 的 key, 而 value 是 final 修飾的空對象
  • 乾貨|新手也能看懂的源碼閱讀技巧
    後來,springboot的火熱,讓我也想蹭上一蹭,於是有了springboot的啟動源碼系列,雖然還在進行中,但是我相信我能將其完成;工作中用到了shiro,我又結合著《跟我學shiro》將shiro的源碼看了個大概,有了shiro源碼系列博文,還差一篇認證與授權(應該很快就能面世),shiro源碼系列就封筆了。
  • 阿里內部源碼教程筆記開源!Spring源碼其實也可以這麼簡單
    前言Spring以loC和AOP為內核,提供了展現層SpringMVC和業務層事務管理等眾多的企業級應用技術,還能整合開源世界眾多著名的第三方框架和類庫,已經成為使用最多的Java EE企業應用開源框架。
  • 年初離職,學習半年源碼,終於拿到了螞蟻Offer,分享面試過程
    最基本的HashMap 和 ConcurrentHashMap線程池的源碼實現阻塞隊列BlockingQueue相關實現ReentrantLock 實現,以及其內部同步器Sync的實現原理有沒有和其他的註冊中心對比過?項目用 Spring 比較多,有沒有了解 Spring 的原理?AOP 和 IOC 的原理Spring Boot除了自動配置,相比傳統的 Spring 有什麼其他的區別?Spring Cloud 有了解多少?