PHP Conference Japan 2024

imap_mail_copy

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_mail_copy將指定訊息複製到信箱

說明

imap_mail_copy(
    IMAP\Connection $imap,
    字串 $message_nums,
    字串 $mailbox,
    整數 $flags = 0
): 布林值

message_nums 指定的郵件訊息複製到指定的信箱。

參數

imap

一個 IMAP\Connection 實例。

message_nums

message_nums 是一個範圍,而不僅僅是訊息編號(如 » RFC2060 中所述)。

mailbox

信箱名稱,詳情請參閱 imap_open()

警告

除非停用 imap.enable_insecure_rsh,否則將不受信任的資料傳遞給此參數是*不安全的*。

flags

flags 是一個包含以下一或多個值的位元遮罩:

  • CP_UID - 序列號包含 UID
  • CP_MOVE - 複製後從目前的信箱中刪除訊息。如果設定此旗標,則此函式的行為與 imap_mail_move() 相同。

返回值

成功時返回 true,失敗時返回 false

更新日誌

版本 說明
8.1.0 imap 參數現在需要一個 IMAP\Connection 實例;以前需要一個有效的 imap 資源

參見

新增註記

使用者貢獻的註記 3 則註記

marcus at names dot co dot uk
22 年前
如果您在使用 imap_mail_copy 和 imap_mail_move 時遇到問題,請檢查您是否安裝了 imap_devel(imap 開發函式庫)以及 imap(imap 常駐程式)。如果沒有它,PHP 似乎可以使用 --with-imap 正確配置,但某些函式無法運作。

我花了大約 12 個小時才弄清楚!
hxlvt at hotmail dot com
23 年前
經過一番摸索,imap_mail_copy 對我來說確實有效。如果您遇到問題,您可能需要檢查新信箱的名稱。確保它只是一個資料夾名稱,例如 INBOX.haha,不包含伺服器部分。
jigar dot dhaduk79 at gmail dot com
9 年前
當我們想要複製多封郵件時,我們可以在 msg_num 之前寫上 '(string)'。就像這樣..

$msg_num = "1,2,3,4,5,6,7";
$copy = imap_mail_copy($imap_stream, (string) $msg_num, '[Gmail]/Important', CP_UID);
To Top