在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    用 Ruby發(fā)郵件

    假設(shè)您有一個(gè)可以工作的 Ruby 應(yīng)用程序,并且需要向其添加電子郵件傳遞功能。這可能與用戶身份驗(yàn)證或任何其他類型的事務(wù)性電子郵件有關(guān),這沒有什么區(qū)別。本教程旨在幫助您實(shí)現(xiàn)使用 Ruby 發(fā)送電子郵件。

    用 Ruby 發(fā)送電子郵件的選項(xiàng)

    大多數(shù)情況下,你可以從三個(gè)選項(xiàng)中選擇一個(gè)。

    最簡單的方法是使用 Net: : SMTP 類。它提供了通過 SMTP 發(fā)送電子郵件的功能。該選項(xiàng)的缺點(diǎn)是 Net: : SMTP 缺少撰寫電子郵件的功能。你可以自己創(chuàng)建,但這需要時(shí)間。

    第二種選擇是使用專用的 Ruby gem,如 Mail、 Pony 或其他。這些解決方案使您能夠以簡單有效的方式處理電子郵件活動(dòng)。Action Mailer 是一個(gè)完美的電子郵件解決方案,通過 Rails 的棱鏡。而且,很有可能,這將是你的選擇。

    第三個(gè)選項(xiàng)是類 Socket。通常,這個(gè)類允許您設(shè)置流程之間或流程內(nèi)部的通信。因此,電子郵件發(fā)送也可以用它來實(shí)現(xiàn)。然而,事實(shí)是 Socket 并沒有為您提供廣泛的功能,您也不太可能想要使用它。

    現(xiàn)在,讓我們嘗試使用所描述的每個(gè)解決方案發(fā)送電子郵件。

    如何通過 Net: : SMTP 在 Ruby 中發(fā)送電子郵件

    根據(jù)我的經(jīng)驗(yàn),在一個(gè)普通的 web 應(yīng)用程序中使用這個(gè)選項(xiàng)是不常見的。但是,如果您在某些物聯(lián)網(wǎng)設(shè)備上使用 mruby (Ruby 語言的一種輕量級(jí)實(shí)現(xiàn)) ,那么通過 Net: : SMTP 發(fā)送電子郵件可能是合適的。此外,如果在無服務(wù)器計(jì)算中使用,例如 AWS Lambda,它也會(huì)這樣做。首先查看這個(gè)腳本示例,然后我們將詳細(xì)介紹它。

    Ruby 露比

    brrequire ‘net/smtp’brmessage = <<END_OF_MESSAGEbrFrom: YourRubyApp brTo: BestUserEver brbrSubject: Any email subject you wantbrbrDate: Tue, 02 Jul 2019 15:00:34 +0800brbrLorem Ipsum

    這是一個(gè)通過 SMTP 發(fā)送文本電子郵件的簡單示例(可以在這里找到官方文檔)。您可以看到四個(gè)標(biāo)題: 發(fā)件人、收件人、主題和日期。請記住,您必須將它們與電子郵件正文中的空行分開。同樣重要的是連接到 SMTP 服務(wù)器。

    Net::SMTP.start(‘your.smtp.server’, 25) do |smtp|

    Start (‘ your.smtp.server’,25) do | smtp |

    自然,這里將顯示您的數(shù)據(jù),而不是“ your.smtp.server”,并且25是默認(rèn)端口號(hào)。如果需要,可以指定其他詳細(xì)信息,如用戶名、密碼或身份驗(yàn)證方案(普通、登錄和 cram _ md5)。它可能看起來如下:

    `Net::SMTP.start(‘your.smtp.server’, 25, ‘localhost’, ‘username’, ‘password’ :plain) do |smtp|`

    在這里,您將使用純文本格式的用戶名和密碼連接到 SMTP 服務(wù)器,客戶機(jī)的主機(jī)名將被標(biāo)識(shí)為 localhost。

    之后,可以使用 send _ message 方法并將發(fā)送方和接收方的地址指定為參數(shù)。

    Start (‘ Net: : SMTP.start (‘ your.SMTP.server’,25) do | SMTP |’)的塊形式將自動(dòng)關(guān)閉 SMTP 會(huì)話。

    在 Ruby Cookbook 中,使用 Net: : SMTP 庫發(fā)送電子郵件被稱為極簡主義,因?yàn)槟仨毷謩?dòng)構(gòu)建電子郵件字符串。盡管如此,這并不像你想象的那樣沒有希望。讓我們看看如何用 HTML 內(nèi)容增強(qiáng)電子郵件,甚至添加附件

    在網(wǎng)上發(fā)送 HTML 電子郵件: : SMTP

    查看這個(gè)引用消息部分的腳本示例。

    Ruby

    message = <<END_OF_MESSAGEbrFrom: YourRubyApp brTo: BestUserEver brMIME-Version: 1.0brContent-type: text/htmlbrbrSubject: Any email subject you wantbrbrDate: Tue, 02 Jul 2019 15:00:34 +0800brbrA bit of plain text.brbrThe beginning of your HTML content.brbr

    And some headline, as well.

    brbrEND_OF_MESSAGE

    除了消息體中的 HTML 標(biāo)記之外,我們還有兩個(gè)額外的頭: MIME-Version 和 Content-type。MIME 指的是 MIME。它是 Internet 電子郵件協(xié)議的擴(kuò)展,允許您在單個(gè)消息體中組合不同的內(nèi)容類型。MIME-Version 的值通常為1.0。它指示消息是 MIME 格式的

    至于 Content-type 頭,一切都很清楚。在我們的示例中,有兩種類型-HTML 和純文本。另外,確保使用定義的邊界分隔這些內(nèi)容類型。

    除了 MIME-Version 和 Content-type,您可以使用其他 MIME 頭:

    內(nèi)容-傳輸-編碼-表示二進(jìn)制到文本的編碼方案(7位、 Quoted-printable、 base64、8位或二進(jìn)制)。

    在網(wǎng)上發(fā)送帶附件的電子郵件: : SMTP

    – Content-Disposition-指定表示樣式(內(nèi)聯(lián)或附件)

    讓我們添加一個(gè)附件,例如 PDF 文件。在這種情況下,我們需要將 Content-type 更新為 multipart/mix。另外,使用 pack (“ m”)函數(shù)用 base64編碼對附加文件進(jìn)行編碼。

    Ruby

    require ‘net/smtp’brfilename = “/tmp/Attachment.pdf”brfile_content = File.read(filename)brencoded_content = [file_content].pack(“m”) ? # base64brmarker = “AUNIQUEMARKER”

    之后,你需要定義你的電子郵件的三個(gè)部分。

    第1部分-主要標(biāo)題

    part1 = <<END_OF_MESSAGEbrFrom: YourRubyApp brTo: BestUserEver brSubject: Adding attachment to emailbrMIME-Version: 1.0brContent-Type: multipart/mixed; boundary = #{marker}br–#{marker}brEND_OF_MESSAGE

    第2部分-消息行動(dòng)

    part2 = <<END_OF_MESSAGEbrContent-Type: text/htmlbrContent-Transfer-Encoding:8bitbrA bit of plain text.brThe beginning of your HTML content.br

    And some headline, as well.

    br–#{marker}brEND_OF_MESSAGE

    第三部分-附件

    part3 = <<END_OF_MESSAGEbrContent-Type: multipart/mixed; name = "#{filename}"brContent-Transfer-Encoding:base64brContent-Disposition: attachment; filename = "#{filename}"br#{encoded_content}br–#{marker}–brEND_OF_MESSAGE

    現(xiàn)在,我們可以把所有的部分放在一起,并最終確定劇本。這就是它看起來的樣子:

    Ruby

    brrequire ‘net/smtp’brfilename = “/tmp/Attachment.pdf”brfile_content = File.read(filename)brencoded_content = [file_content].pack(“m”) ? # base64brmarker = “AUNIQUEMARKER”brpart1 = <<END_OF_MESSAGEbrFrom: YourRubyApp brTo: BestUserEver brSubject: Adding attachment to emailbrMIME-Version: 1.0brContent-Type: multipart/mixed; boundary = #{marker}

    我可以發(fā)送電子郵件給多個(gè)收件人在網(wǎng)絡(luò): : SMTP?

    當(dāng)然,你可以. send _ message 期望第二個(gè)和隨后的參數(shù)包含收件人的電子郵件。例如:

    Ruby

    Net::SMTP.start(‘your.smtp.server’, 25) do |smtp|br? smtp.send_message message,br? ‘[email protected]’,br? ‘[email protected]’,br? ‘[email protected]’,br? ‘[email protected]

    發(fā)送電子郵件的最佳 Ruby Gems

    在 Ruby 生態(tài)系統(tǒng)中,您可以找到特定的電子郵件 gems,它們可以改善您的電子郵件發(fā)送體驗(yàn)。

    Ruby Mail

    該庫旨在提供一個(gè)單點(diǎn)訪問管理所有電子郵件相關(guān)活動(dòng),包括發(fā)送和接收電子郵件。Pony

    您可能聽說過一個(gè)關(guān)于用一個(gè)命令發(fā)送電子郵件的童話故事。抓緊你們的帽子,因?yàn)樗钦娴?,由小馬寶石提供。

    ActionMailer

    這是最流行的寶石發(fā)送電子郵件在 Rails 上。如果你的應(yīng)用程序?qū)懺谏厦?,ActionMailer 肯定會(huì)出現(xiàn)。它允許您使用郵件類和視圖發(fā)送電子郵件

    使用郵件陷阱測試使用 Net: : SMTP 的電子郵件發(fā)送

    設(shè)置非常簡單。進(jìn)入演示收件箱后,復(fù)制 SMTP“設(shè)置”選項(xiàng)卡上的 SMTP 憑據(jù)并將其插入到代碼中?;蛘?,您可以在 Integrations 部分獲得一個(gè)簡單消息的即用模板。只要選擇一種編程語言或框架,你的應(yīng)用程序是建立。

    Ruby

    require ‘net/smtp’brmessage = <<END_OF_MESSAGEbrFrom: YourRubyApp brTo: BestUserEver brSubject: Any email subject you wantbrDate: Tue, 02 Jul 2019 15:00:34 +0800brLorem IpsumbrEND_OF_MESSAGEbrbrNet::SMTP.start('smtp.mailtrap.io', 587, '', '', :cram_md5) do |smtp|br? smtp.send_message message,

    如果一切正常,您將在郵件陷阱演示收件箱中看到您的消息。此外,您可以嘗試檢查您的 HTML 內(nèi)容和附件的電子郵件。

    您剛剛閱讀了關(guān)于如何使用 Ruby 測試和發(fā)送電子郵件的完整教程。希望您喜歡!

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
    用戶投稿
    上一篇 2022年6月19日 21:13
    下一篇 2022年6月19日 21:13

    相關(guān)推薦

    • 短視頻策劃內(nèi)容的3個(gè)要點(diǎn)(短視頻策劃內(nèi)容怎么做)

      短視頻在制作時(shí),內(nèi)容框架非常重要。如果直奔主題,然后結(jié)束,聚卓告訴你,這樣的短視頻已經(jīng)過時(shí)了?,F(xiàn)在的短視頻需要框架的,但不是任何框架,它需要一種易于理解和消化的框架。而且,現(xiàn)在大多…

      2022年11月27日
    • 劉畊宏回應(yīng)梅西輸球后哭了:跳操流汗到眼睛 剛好有點(diǎn)流鼻水

      11月23日,劉畊宏發(fā)言回應(yīng)自己再梅西輸球后流淚的消息,他寫道:“我是有些難過… 然后…跳操流汗到眼睛,剛好有點(diǎn)流鼻水,阿根廷之后的比賽會(huì)贏的!”據(jù)悉,11月22日的世界杯比賽中,…

      2022年11月26日
    • EDG粉絲酸了!JDG重磅官宣,頂級(jí)打野Kanavi留在LPL賽區(qū)

      2022英雄聯(lián)盟職業(yè)聯(lián)賽冬季轉(zhuǎn)會(huì)期已經(jīng)于11月22日拉開帷幕,在轉(zhuǎn)會(huì)期首日作為LPL觀眾關(guān)注的焦點(diǎn)的JDG戰(zhàn)隊(duì),就官宣了Yagao離隊(duì)以及Homme續(xù)約的消息,這讓人十分意外。畢竟…

      2022年11月25日
    • 世界杯怎么買體育彩票(世界杯怎么買體育彩票玩法)

      2022卡塔爾世界杯已經(jīng)開賽了,除了廣大球迷外,很多彩民也十分關(guān)注比賽進(jìn)程。據(jù)了解,自2012年歐洲杯以來,每逢大型國際足籃球賽事,中國體育彩票會(huì)開售冠軍競猜、冠亞軍競猜游戲。那么…

      2022年11月25日
    • 小紅書平臺(tái)的一些機(jī)制及玩法詳解(小紅書玩法有哪些)

      關(guān)于小紅書 一:小紅書平臺(tái)的一些機(jī)制 1. 筆記內(nèi)容的CES評分機(jī)制 2. 筆記流量入口與長尾效應(yīng) 二:小紅書優(yōu)質(zhì)筆記的特點(diǎn)(分維度、類型分析) 1.筆記的本身架構(gòu)組成 維度 2.…

      2022年11月25日
    • 博客營銷的3大優(yōu)勢解析(博客營銷怎么做)

      不知不覺已經(jīng)寫了24篇文章,加上這篇是第25篇了,都是自己這幾年來用過的營銷方法,如果遇到有些不懂的,我會(huì)咨詢我的朋友和同事幫忙,盡量讓每一篇有價(jià)值,哪怕是對大家有一點(diǎn)點(diǎn)幫助也行,…

      2022年11月25日
    • 賈乃亮的消息的最新動(dòng)態(tài)(賈乃亮終于又宣布好消息)

      本以為賈乃亮與李小璐官宣離婚后的畫風(fēng),該是“一別兩寬,各生歡喜”。 誰知卻是“剪不斷,理還亂”,八卦傳聞比離婚前還多。 最近,就有不少新聞報(bào)道稱,賈乃亮和李小璐又決定為了女兒復(fù)合?!?/p>

      2022年11月25日
    • 什么是內(nèi)容營銷策略如何策劃一套成功的內(nèi)容營銷策略

      很多時(shí)候,營銷人員會(huì)在創(chuàng)作營銷內(nèi)容時(shí)感到沮喪,這也是很多企業(yè)至今沒用好數(shù)字化營銷工具的重要原因之一。 舉個(gè)例子,您可能會(huì)花上數(shù)小時(shí)期待制作一些令人驚嘆的東西,實(shí)際卻是得到很少的受眾…

      2022年11月25日
    • 直播帶貨詳細(xì)腳本(直播文案策劃怎么寫)

      短視頻運(yùn)營策劃方案怎么寫?涉及哪幾個(gè)方面? 我在網(wǎng)上看到好多千篇一律的文章,關(guān)于【短視頻運(yùn)營策劃方案】這一塊,基本都是在講賬號(hào)的內(nèi)容本身。 你內(nèi)容做得再好,卻不掌握算法的規(guī)律,能有…

      2022年11月25日
    • 體彩世界杯冠軍彩票怎么買(體彩世界杯冠軍彩票中獎(jiǎng))

      作為世界最具影響力的體育賽事,四年一度的男足世界杯,如今已經(jīng)吸引了廣大球迷和購彩者關(guān)注。據(jù)悉,本月初,中國體育彩票已經(jīng)開售2022卡塔爾世界杯的冠軍競猜、冠亞軍競猜游戲了。那么,體…

      2022年11月25日

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息