消息文本的回流(reflow),該轉換可插入用于由用戶顯式地輸入的那些新行而不是用于由發(fā)送者的客戶端通過將長段落重疊成多行而引入的換行符的換行符。
[0079]接下來,使用上述數(shù)據(jù)庫和服務查詢的結果,增強該消息。這通過在任何數(shù)目的點處向消息中插入內容來完成。如果消息采取純文本格式且不能轉換成HTML,則可在純文本中完成這些修改,并且可使用標點或其他符號將其與消息的其余部分區(qū)別開。否則,通過添加可例如使用CSS (級聯(lián)樣式表)來樣式化(style)的HTML元素而實現(xiàn)該修改,并且該修改可包括適合于應用程序的圖像、鏈接以及任何其他內容??梢詫⒂脩艨刹扇〉娜魏蝿幼鞅硎緸榈骄W(wǎng)站、其他應用程序或其他種類的外部引用的鏈接。
[0080]可以不同的形式、結構或樣式來表達和表示相同的增強信息。當修改消息時,增強過程可在選擇要插入消息中的信息的哪個表達式時考慮上下文。在特定實施例中,關于入站消息,可使用客戶端設備類型和客戶端軟件版本的知識來再現(xiàn)適合于該客戶端設備的屏幕尺寸、視覺樣式、硬件和軟件能力以及其他特性的表示(例如,可采用CSS動畫,如果其被客戶端設備支持的話)。關于出站消息,可針對與大范圍的不同電子郵件客戶端的兼容性而優(yōu)化被插入消息中的信息的表示,因為不知道該消息將在哪個客戶端設備或客戶端軟件上被讀取。
[0081]可通過利用特定設備能力在已修改消息內創(chuàng)建交互式用戶界面。例如,可甚至在其中不允許執(zhí)行JavaScript的環(huán)境中通過使用CSS:hover、:active和:focuspseudo-classes而在有用戶的請求時使得用戶界面的各部分可見。還可使用動畫圖形格式及其他技術。由于這些能力通常存在于一些型號的客戶端102上,所以其通常將關于入站消息而生成,其中客戶端設備類型和軟件版本對于消息代碼轉換過程而言是已知的。
[0082]對于因特網(wǎng)消息格式的消息而言,除向HTML主體部分中插入內容之外,諸如使用多部分/相關容器類型向消息添加更多MIME部分可能是適當?shù)?。這可以用來在消息中包括圖像,使得其可以在HTML部分中被引用,并且被客戶端顯示而不需要下載任何外部資源。針對不能嵌套的多部分/相關容器,應再使用任何現(xiàn)有容器,如果其存在的話。如果其不存在的話,可以在MME樹中的HTML主體部分的位置處插入多部分/相關容器,并且使得HTML主體部分成為該容器的子兀素。
[0083]在這些增強已發(fā)生之后,將該消息串行化成最適合于電子郵件協(xié)議中的增強的上下文,其可以是純文本、HTML或因特網(wǎng)消息格式。在此重新串行化中,將存在于原始消息中的信息盡可能保持原樣。例如,保存附件且不修改。并且,特定客戶端可包括并非標準依從的HTML結構或字符編碼。為了使代理服務器對用戶的電子郵件體驗的非故意副作用最小化,盡可能保留此類結構。如果在增強過程期間發(fā)生任何不可恢復錯誤,則一些實施例恢復成使用未增強消息。串行化已增強消息被返回到其來時的電子郵件協(xié)議代理服務器,并被嵌入通信流中。
[0084]在一些實施例中,消息代碼轉換和增強過程用完全不同的消息來替換一個消息。例如,這可適合于由代理服務器本身的操作員發(fā)送的消息。當在未使用代理服務器的電子郵件帳戶上看時,此類消息可以包括關于如何設定代理服務器配置的指令。然而,當可被已被配置成使用代理服務器的客戶端下載時,其可以將成功配置通知給用戶。
[0085]圖9一 12根據(jù)示例性實施例描述了顯示各種消息和補充信息的用戶界面的各部分。圖9圖示出從發(fā)送者“John Smith”發(fā)送的示例性電子郵件消息。除電子郵件消息902之外,原始消息已被修改成包括與John Smith相關聯(lián)的補充信息904。在本示例中,補充信息904包括John Smith的照片、與John Smith相關聯(lián)的職業(yè)信息以及其教育經(jīng)歷。補充信息904還提供鏈接以在各種社交網(wǎng)絡上與John Smith聯(lián)系。
[0086]在一些實施例中,用戶可激活按鈕以便擴展在消息中顯示的補充信息。圖10圖示出補充信息已被擴展之后的圖9的電子郵件消息。在圖10的示例中,示出了與John Smith相關聯(lián)的附加補充信息,包括John Smith所使用的各種網(wǎng)絡。電子郵件消息的接收者可以激活網(wǎng)絡名或圖標中的任何一個以發(fā)起與John Smith的網(wǎng)絡連接或者獲悉更多關于其在每個網(wǎng)絡上的活動。此外,圖10中示出的電子郵件消息識別與電子郵件接收者和JohnSmith兩者聯(lián)系的多個用戶。這些公共連接可向電子郵件接收者提供關于電子郵件內容的可信性和/或上下文。
[0087]圖11圖示出由John Smith準備并發(fā)送給電子郵件接收者Mark Jackson的示例性電子郵件消息。在本示例中,與Mark Jackson相關聯(lián)的補充信息在由John Smith創(chuàng)建電子郵件消息時被自動地插入該電子郵件消息中。向創(chuàng)建消息的用戶顯示此補充信息提供已經(jīng)選擇正確電子郵件接收者的確認。
[0088]圖12圖示出顯示用以加入另一用戶的網(wǎng)絡的邀請的用戶界面的示例性部分。在一些實施例中,電子郵件接收者將看到被插入接收到的電子郵件消息中的補充信息。電子郵件接收者可以激活包括在電子郵件消息中的鏈接或圖標中的一個以調用邀請對話,諸如圖12中的示例。電子郵件接收者可以可選地向另一用戶寫消息,并且然后可以選擇要求該另一用戶加入其網(wǎng)絡。
[0089]圖13是根據(jù)實施例的共享包含在消息、諸如電子郵件消息中的鏈接的方法1300的流程圖。最初,方法1300在1302處識別接收到的消息,并在1304處識別接收到的消息中的一個或多個鏈接。方法1300在1306處選擇包含可共享內容的接收到的消息中的鏈接。示例性可共享內容包括可公開訪問和/或將與另一用戶有關的內容??晒蚕礞溄拥奶囟ㄊ纠堑狡渌脩艨晒_訪問的在線文章的鏈接。在1308處向用戶顯示包含可共享內容的鏈接。用戶可在1310處選擇激活所選鏈接中的一個或多個。如果用戶激活所選鏈接中的至少一個,則方法1300在1312處顯示用于與其他用戶共享被激活鏈接的選項。如果用戶在1314處激活了用以共享被激活鏈接的選項,則方法1300在1316處顯示對話框,其允許用戶定義如何與其他用戶共享鏈接。例如,用戶可經(jīng)由電子郵件、社交網(wǎng)絡聯(lián)系等來共享鏈接。在顯示對話框之后,方法1300在1318處等待進一步用戶指令。
[0090]圖14一 16根據(jù)示例性實施例描述了顯示消息中的鏈接與其他用戶的共享的用戶界面的各部分。圖14圖示出包括到文章1402的鏈接的示例性電子郵件消息。當電子郵件消息的接收者懸停在鏈接1402上方(或者以其他方式識別鏈接1402)時,用戶界面顯示一個或多個選項,舉例來說,如圖15中所示。在圖15的示例中,用戶界面顯示對話框1502,其識別與其他人共享同一鏈接1402的其他用戶(例如,網(wǎng)絡連接)。另外,對話框1502識別用以經(jīng)由社交網(wǎng)絡或其他連接機制來共享鏈接1402、針對在未來時間的訪問/閱讀而標記鏈接1402、評論鏈接1402等鏈接1402的內容的選項。在替換實施例中,可向用戶呈現(xiàn)任何數(shù)目的不同選項以用于共享、保存或者以其他方式管理鏈接1402。
[0091]圖16圖示出包括允許用戶向社交網(wǎng)絡、群組或向一個或多個個人張貼評論的對話框1602的示例性電子郵件消息??墒乖撛u論與電子郵件消息內容、電子郵件消息中的鏈接、電子郵件附件、在電子郵件消息內容中提及的話題等相關。
[0092]圖17是根據(jù)實施例的生成與包含在一個或多個消息中的信息相關聯(lián)的提示的方法1700的流程圖。最初,方法1700在1702處識別接收到的消息,并在1704處分析接收到的消息的內容以識別包含在接收到的消息中的潛在活動、事件或其他項目。該潛在活動、事件或其他項目包括會議、討論會、電話、個人活動、項目最后期限、任務等。方法1700在1706處向用戶顯示接收到的消息。另外,方法1700在1708處向用戶顯示潛在活動、事件或其他項目以及用以創(chuàng)建用于該潛在活動、事件或其他項目的提示的鏈接。如果用戶在1710處選擇是否激活提示鏈接,則在1712處將潛在活動、事件或其他項目添加在日歷、任務列表或其他系統(tǒng)/應用程序。例如,如果潛在活動是會議,則方法1700可響應于提示鏈接的用戶激活而自動地將會議添加到用戶的日歷程序。最后,方法1700在1714處等待進一步用戶指令。
[0093]圖18根據(jù)示例性實施例描述了顯示用以設置與包含在消息中的信息相關聯(lián)的提示的選項的用戶界面的一部分。圖18中所示的示例性電子郵件消息內容包括“可不可以請您在明天中午之前將圖片帶給我以便我可以將其包括在幻燈片中? ”基于此電子郵件消息內容,應用程序或系統(tǒng)確定電子郵件接收者可能想要設置用于次日中午的提示。因此,應用程序或系統(tǒng)顯示“提醒我”按鈕或鏈接1802,其允許電子郵件接收者設定用以在次日中午之前提供所請求信息的提示。如果電子郵件接收者激活按鈕或鏈接1802,則在電子郵件接收者的日歷、任務列表或其他任務管理應用程序中自動地輸入該提示。
[0094]圖19是計算機系統(tǒng)1900的示例性形式的機器的框圖,在其內部可執(zhí)行用于促使機器執(zhí)行這里所討論的方法中的任何一個或多個的指令。在替換實施例中,機器作為獨立設備操作或者可連接(例如,聯(lián)網(wǎng))到其他機器。在聯(lián)網(wǎng)部署中,機器可在服務器一客戶端網(wǎng)絡環(huán)境中的服務器或客戶端機器的容量中或者作為端對端(或分布式)網(wǎng)絡環(huán)境中的對端機器操作。該機器可以是個人計算機(PC)、平板PC、機頂盒(STB)、個人數(shù)字助理(PDA)、蜂窩式電話、網(wǎng)絡設備、網(wǎng)絡路由器、交換機或橋接器或能夠執(zhí)行指定將由該機器采取的動作的指令(連續(xù)或其他)的任何機器。此外,雖然僅圖示出單個機器,但應將術語〃機器〃理解成包括單獨地或共同地執(zhí)行一組(或多組)指令以執(zhí)行本文所討論的方法中的任何一個或多個的機器的任何集合。
[0095]示例性計算機系統(tǒng)1900包括處理器1902(例如,中央處理單元(CPU)、圖形處理單元(GPU)或兩者)、主存儲器1904和靜態(tài)存儲器1906,其經(jīng)由總線1908相互通信。計算機系統(tǒng)1900還可包括視頻顯示設備1910 (例如,液晶顯示器(IXD)或陰極射線管(CRT))。計算機系統(tǒng)1900還包括字母數(shù)字輸入設備1912 (例如,鍵盤)、用戶界面(UI)導航設備1914(例如,鼠標)、磁盤驅動單元1916、信號發(fā)生設備1918(例如,揚聲器)和網(wǎng)絡接口設備1