如何通過電子郵件釋出WordPress文章

如何通過電子郵件釋出WordPress文章

如果您想在 WordPress 網站上釋出一些內容,但沒有時間或不想花時間進入網站,該怎麼辦?很簡單!用電子郵件寫一篇博文,然後傳送到您的網站。WordPress 會幫您釋出!

通過電子郵件傳送博文意味著您可以隨時隨地釋出博文,而無需登入您的網站。您只需訪問您的電子郵件賬戶。對於沒有安裝 WordPress 應用程式的智慧手機來說,這是一個釋出資訊的好方法。

多麼神奇的功能,不是嗎?有幾種方法可以通過電子郵件釋出內容。讓我們來看看是如何實現的。

通過電子郵件釋出

通過電子郵件釋出

這是 WordPress 內建的電子郵件功能。要使用這一功能,您必須設定一個祕密的電子郵件賬戶,將文章傳送到該賬戶。傳送到該電子郵件賬戶的任何內容都會發布到 WordPress 上。當然,您不希望自己或團隊成員撰寫的任何內容都被髮布到WordPress上,因此您必須建立一個高度保密的電子郵件賬戶。保密;安全。

要建立祕密電子郵件,WordPress 建議在電子郵件地址中使用隨機字串。它為你提供了三個隨機生成的建議。該電子郵件需要 POP3 訪問許可權。從該電子郵件賬戶釋出的任何內容都將釋出在您設定為預設類別的單一類別中。

WordPress 的工作人員認為這項功能已經過時,因此將在即將釋出的 WordPress 版本中刪除。現在這已經是舊聞了,它在當前版本中仍然保持不變。不過,它最終會被移除。屆時,仍有幾種方法可以讓它發揮作用。一種方法是在程式碼中呼叫該函式。另一種方法當然是使用外掛。讓我們來看看我們的選擇。

Code

除了直接呼叫 wp-mail.php,還有一種方法可以觸發它。大多數用於郵件釋出的外掛都可以幫您做到這一點。不過,如果你仍想手動操作,WordPress 推薦使用以下方法。

Action Based

您可以在主題的 function.php 程式碼中新增一個動作,每 15 分鐘檢查一次電子郵件。這段程式碼會在頁面載入時執行,因此取決於網站的流量。程式碼如下:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
add_action( 'shutdown', 'retrieve_post_via_mail' );
function retrieve_post_via_mail() {
flush(); // Display the page before the mail fetching begins
if ( get_transient( 'retrieve_post_via_mail' ) ) {
return; // The mail has been checked recently; don't check again
} else { // The mail has not been checked in more than 15 minutes
do_action( 'wp-mail.php' );
set_transient( 'retrieve_post_via_mail', 1, 15 * MINUTE_IN_SECONDS ); // check again in 15 minutes.
}
}
add_action( 'shutdown', 'retrieve_post_via_mail' ); function retrieve_post_via_mail() { flush(); // Display the page before the mail fetching begins if ( get_transient( 'retrieve_post_via_mail' ) ) { return; // The mail has been checked recently; don't check again } else { // The mail has not been checked in more than 15 minutes do_action( 'wp-mail.php' ); set_transient( 'retrieve_post_via_mail', 1, 15 * MINUTE_IN_SECONDS ); // check again in 15 minutes. } }
add_action( 'shutdown', 'retrieve_post_via_mail' );
function retrieve_post_via_mail() {
    flush(); // Display the page before the mail fetching begins
    if ( get_transient( 'retrieve_post_via_mail' ) ) {
        return; // The mail has been checked recently; don't check again
    } else { // The mail has not been checked in more than 15 minutes
        do_action( 'wp-mail.php' );
        set_transient( 'retrieve_post_via_mail', 1, 15 * MINUTE_IN_SECONDS ); // check again in 15 minutes.
    }
}

您可以將 set_transient 中的 “15” 改成任何您想要的值,從而更改時間。如果這樣做,只需確保更改註釋與之匹配即可(這將有助於避免日後出現混亂–請相信我)。如果不想依賴網站流量,可以使用 cron 作業。

Cron Jobs

Cron 作業在伺服器中配置,其執行與網站流量無關。首先要啟用 cron 作業。

UNIX

有幾種方法可以啟用 UNIX 的 cron 作業。一種方法是在命令列中使用 wget、curl 或 GET 命令。程式碼如下:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
wget -N http://example.com/installdir/wp-mail.php
wget -N http://example.com/installdir/wp-mail.php
wget -N http://example.com/installdir/wp-mail.php

用你使用的程式替換 wget 及其引數。

另一種方法是在 cron 作業中執行 php 指令碼。它看起來像這樣:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
php /full/path/to/wp-mail.php
php /full/path/to/wp-mail.php
php /full/path/to/wp-mail.php

這可能是一個更好的選擇,因為 php 執行不需要特別授權,而 wget 可能需要。

Windows

如果主機在 Windows 上執行,則可以使用類似於執行 cron 的程式。以下是一些不錯的選擇:

每個檔案都包含執行 cron 的文件。

啟用 Procmail

如果使用的是 procmail,則應使用 blogmailaccounts home 目錄中的 .procmailrc:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Shell=/bin/sh
MAILDIR=$HOME/.maildir/
DEFAULT=$MAILDIR
:0
{
:0Wc
./
:0
| wget -N http://example.com/installdir/wp-mail.php
}
Shell=/bin/sh MAILDIR=$HOME/.maildir/ DEFAULT=$MAILDIR :0 { :0Wc ./ :0 | wget -N http://example.com/installdir/wp-mail.php }
Shell=/bin/sh
MAILDIR=$HOME/.maildir/
DEFAULT=$MAILDIR
:0
{
:0Wc
./
:0
| wget -N http://example.com/installdir/wp-mail.php
}

如果需要,您甚至可以使用特定的主題表示式。有關這方面的更多資訊,請訪問 procmail 網站。

Activating .qmail

你可以設定使用.qmail的伺服器,在傳送郵件時呼叫wp-mail.php。首先,你需要建立一個shell指令碼來呼叫wp-mail.php。指令碼如下:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#!/bin/sh
/bin/sh -c "sleep 5; /path/to/php /path/to/your/blog/wp-mail.php > /dev/null" &
#!/bin/sh /bin/sh -c "sleep 5; /path/to/php /path/to/your/blog/wp-mail.php > /dev/null" &
#!/bin/sh
/bin/sh -c "sleep 5; /path/to/php /path/to/your/blog/wp-mail.php > /dev/null" &

這個指令碼將放在你的根目錄下,執行位應該設定為(chmod 700)。

接下來,你需要建立一個.qmail檔案來呼叫你的shell指令碼。在 .qmail 檔案中為你的郵箱名稱新增這行程式碼:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
|/path/to/your/root/directory/wp-mail
|/path/to/your/root/directory/wp-mail
|/path/to/your/root/directory/wp-mail

不同的網際網路服務供應商會有不同的命名規則,因此你必須查閱網際網路服務供應商的文件,瞭解更多關於 .qmail 檔案的資訊。

現在,如果你不想接觸所有這些程式碼,你可以使用一個外掛。

外掛

WordPress 建議您使用外掛從電子郵件中釋出資訊。他們推薦使用 Post by Email、Jetpack 或 Postie。下面將簡要介紹這些外掛以及如何使用它們。

Jetpack

Jetpack

如果您沒有使用 Jetpack,那麼……您應該使用 Jetpack。Jetpack 是 Automattic(WordPress 的建立者)推出的一套免費外掛,它擁有大量輕量級、增值而非臃腫的必備外掛。在它的眾多工具中,有一項是從祕密電子郵件賬戶釋出內容的功能。

當你啟用通過電子郵件傳送文章的功能時,它會建立一個電子郵件地址(預設情況下不啟用)。這是您傳送郵件的地址。如果需要,可以更改該地址。只需返回到啟用該功能的按鈕,然後單擊 “重新生成地址 “即可。我認為它可以無限再生(我一直想要無限再生)。

開發帖子很簡單。它使用主題行作為帖子標題。它會盡可能多地保留格式,所以如果你的電子郵件客戶端使用富文字或 HTML 格式,你可以使用 HTML。如果不想指定任何格式,也可以傳送純文字。您可以從任何電子郵件客戶端釋出郵件。注–如果您使用的是 Hotmail 或 Gmail 等基於網路的客戶端,或 Outlook 等基於桌面的系統,那麼您已經有了富文字格式模式。

本帖將自動移除 Hotmail 和 Gmail 等客戶端中的簽名,以及手機網路中 <hr/> HTML 標記之後的任何內容。你也可以在電子郵件中使用簡碼移除任何不需要的簽名。

您還可以在電子郵件中嵌入大量其他簡碼來格式化您的文章。您可以使用它們來:

  • 選擇類別
  • 選擇標籤
  • 設定摘要
  • 設定更多標籤
  • 將釋出時間延遲一小時
  • 開啟或關閉評論
  • 設定釋出狀態(已釋出、待發布或草稿)
  • 設定幻燈片
  • 關閉相簿(相簿預設自動開啟)
  • 設定公開選項(將向 Facebook 和 Twitter 傳送通知)
  • 為 Polldaddy 設定投票
  • 下一頁
  • 標題
  • 標題(如果您想指定電子郵件標題以外的內容)

您可以將圖片作為附件。單張圖片將內嵌顯示。多張圖片將自動設定為相簿,除非您提供簡碼來移除相簿。這是建立相簿的超快方法。只需拍攝大量照片並將它們附加到電子郵件中。完成。而且簡單。

Jetpack 超級易用,但我有幾個問題。首先,它只提供一個地址。這對一個人來說很好,但如果你有一個團隊,每個成員都有自己的賬戶呢?這意味著傳送的每封郵件都會被自動標記為由管理員釋出。

其次,如果在單獨的簡碼中釋出每個網路,Publicize 只能使用一個社交網路。您可以用一個簡碼同時傳送到 Facebook 和 Twitter,但不能使用單獨的簡碼。我為什麼要關心這個?我可能想在我的電子郵件中使用已經發布了簡碼的模板。這就意味著我必須使用多個模板,或者我必須包含所有的簡碼,並密切關注哪些簡碼需要刪除。如果不這樣做,Jetpack 的功能就會大打折扣,這也是 Publicize 的優勢之一。要讓它正常工作並不難,但還是需要注意。

不過,這些問題還不足以阻止我使用它。這是一種通過電子郵件賬戶建立全功能帖子的好方法。簡碼和 HTML 功能可確保帖子在網站上看起來非常美觀,而不像是在電子郵件中建立的。

Postie

Postie

與當前 WordPress 內建的預設功能相比,這個免費外掛為您提供了許多高階功能。它有很多很好的功能,可以讓你格式化帖子,包括標題、類別、狀態、帖子型別、標籤、摘錄、HTML、相簿、評論控制、從郵件中移除頁首和頁尾等。

該外掛增加了一些 Jetpack 外掛所缺少的功能。首先,您可以控制誰可以通過電子郵件發表文章。您可以選擇允許哪些角色釋出郵件。從管理員到訂閱者,所有角色都可以選擇。您還可以告訴它哪些地址有權傳送郵件。因此,如果有多人在你的網站上發帖,帖子就會標註他們的名字。如果你願意,你可以允許任何人發帖(我真的不知道你為什麼要這麼做)。對於未註冊使用者,您可以選擇將哪個管理員的名字作為預設發帖人。是的,我並不推薦這項功能,但如果你需要,它還是存在的。您可以將其設定為自動從帖子中提取第一張圖片並將其設定為特色圖片。圖片、視訊、音訊檔案和其他附件都有模板。電子郵件回覆會變成評論。

你可以選擇多久檢查一次要釋出的郵件。您可以選擇每 5 分鐘、10 分鐘、30 分鐘、每小時、每天、每週或僅手動檢查一次。

這款軟體很容易設定和使用,但你必須設定很多選項。它遠不如 Jetpack 容易使用,但它有更多的功能,值得一試。您需要設定郵件協議(支援 POP3 和 IMAP,可以使用 SSL 或 TSL)、埠、伺服器、ID 等,然後可以選擇預設類別等。您還可以在儀表板上進行所有調整。它具有高度可定製性。

有一些附加元件可以進一步擴充套件它。大多數附加元件售價 29 美元,包括:

  • 簡潔的 HTML(確保符合 W3C 標準)
  • 多語言(支援多種語言)
  • 地理位置增強功能(您可新增經緯度)
  • 僅影象(此價格為 5 美元)
  • 開放式街道地圖(新增經緯度,其餘由它完成)

Post by Email

Post by Email

這個免費外掛目前處於測試階段,已經有一段時間沒有更新了,但我將它安裝到了最新版本的 WordPress 上,執行起來沒有任何問題。不過,測試版意味著您可能會遇到相容性問題,因此請自行承擔執行風險。

你可以設定一個電子郵件地址來傳送帖子,從該地址收到的任何郵件都會被髮布。這是一個你需要保密的地址。

它的功能與我們在前兩個外掛中看到的類似:

  • 支援 IMAP 和 POP3,支援或不支援 SSL
  • 基於 PIN 碼的身份驗證可防止電子郵件被偽造
  • 使用角色來管理誰可以釋出資訊
  • 電子郵件中的簡碼可設定類別、標籤和自定義分類法
  • 附件會自動新增到帖子的相簿中

它從未經授權的使用者處收到的任何電子郵件都將被設定為待處理,如果你願意,也可以將其設定為丟棄。

這款軟體比 Postie 容易設定,但這只是因為要做的選擇較少。它提供了一個活動日誌,讓你可以跟蹤嘗試釋出等情況。

一些提示

使用私密電子郵件賬戶釋出資訊時,你將面臨任何人都能在你的部落格上釋出資訊的風險。至關重要的是,你要對這個電子郵件賬戶嚴加保密。只在你信任的電腦上登入此電子郵件帳戶。不使用電子郵件時,請登出。

使用已設定好所有首選快捷程式碼的電子郵件模板。然後,您只需更新文字和圖片即可建立新帖。

小結

就是這樣。通過電子郵件向 WordPress 釋出內容是一項非常方便的功能。我知道這可以節省很多時間,或者當你不在最喜歡的電腦椅上時,也能輕鬆釋出資訊。這三個外掛都是不錯的選擇,使用它們釋出資訊可以大大簡化您在旅途中釋出資訊的工作。

輪到您了!您通過電子郵件向 WordPress 網站釋出內容嗎?你有不同的方法,或者你使用過與我這裡描述的不同的外掛嗎?我想在下面的評論中聽聽您的想法!

評論留言