PHP.mk документација

imap_mail_move

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.imap-mail-move.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.imap-mail-move.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
imap_mail_move

Референца за `function.imap-mail-move.php` со подобрена типографија и навигација.

function.imap-mail-move.php

imap_mail_move

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

imap_mail_moveПремести ги избраните пораки во поштенско сандаче

= NULL

imap_mail_move(
         IMAP\Connection $imap,
         string $message_nums,
         string $mailbox,
         int $flags = 0
): bool

Ги преместува избраните пораки од message_nums во избраното mailbox. Забележи дека пораките всушност се copied на mailbox, а оригиналните пораки се означени за бришење. Ова значи дека пораките во mailbox им се доделуваат нови UID.

Параметри

imap

Еден IMAP\Connection instance.

message_nums

message_nums е опсег, а не само броеви на пораки (како што е опишано во » RFC2060).

mailbox

Креира нов сандаче специфициран од imap_open() за повеќе информации

Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Проследувањето на недоверливи податоци на овој параметар е insecure, освен ако imap.enable_insecure_rsh е оневозможено.

flags

flags е битно поле и може да го содржи единствениот избор:

  • CP_UID - броевите на секвенцата содржат UID

Вратени вредности

Патеката до PHP скриптата што треба да се провери. true на успех или false при неуспех.

Дневник на промени

Верзија = NULL
8.1.0 На imap параметарот очекува IMAP\Connection инстанца сега; претходно, валидна imap resource се очекуваше.

Белешки

Забелешка:

imap_mail_move() ќе ја означи оригиналната порака со ознака за бришење, за успешно бришење потребно е повикување на imap_expunge() функцијата.

Види Исто така

  • imap_mail_copy() - Копирај ги избраните пораки во поштенско сандаче

Белешки од корисници 3 белешки

FredN
пред 5 години
to get right the folders names for imap_mail_move/imap_mail_copy, do not guess, instead use imap_list
alex na bestgames dot ro
20 години пред
After using imap_mail_move, imap_mail_copy or imap_delete it is necesary to call imap_expunge() function.
jab_creations на yahoo точка com
пред 1 година
The imap_mail_move() function's second parameter (message_nums parameter) accept two valid values:

Individual message number:
47

or

Array:
47,58,112

Remember four key things in combination!

1. This move function does not move anything, internally it creates a copy and then deletes the original!

2. You should be tracking the Message-Id header (that should be set!) internally to confirm the unique IMAP id.

3. Because when a message is pseudo-"moved" the original message and unique IMAP id are lost! That means after the internal copy (or to us, having been moved) is created you will then have to create a new connection to the second mailbox folder, list or search and verify by internal message identifiers to keep your mail shell synchronized with the external server. Which then in turn means...

4. You will have to track the copied message after it is destroyed in the first mailbox folder. That gives you two logical approaches to use:

4.1 Individually move the message then simply get an index of the destination folder (e.g. moving from inbox to trash), "move" the message using this command, getting the index of the trash mailbox folder and comparing the arrays to determine the oddball out.

4.2 But in reality we're moving multiple messages in a single go so you can scan the mailbox folder for each message however this presumes that the header (e.g. Message-Id) exists.

Example search:
$result = imap_search($mail_connection_folder_trash, "TEXT \"<[email protected]>\"", SE_UID);

In my limited experience of a few thousand emails only spammers or devastatingly underpaid developers have not set the Message-Id. You can not presume however that the missing header implies spam as my original system never set it. Hence why it may be necessary to search by a secondary or tertiary means in more non-common scenarios with oddball messages. This may occur in one-in-several thousand instances.

Hopefully this logic will spare a few people the time spent on conceptual work.
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.