PHP: imap_mail_move - Manual

downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

imap_mail imap_mail_copy

Last updated: Fri, 26 Jan 2007

view this page in

# imap_mail_move

(PHP 3, PHP 4, PHP 5)

imap_mail_move -- Move specified messages to a mailbox

## Описание

bool imap_mail_move ( resource imap_stream, string msglist, string mailbox [, int options] )

Moves mail messages specified by `msglist` to the specified `mailbox`.

## Список параметров

`imap_stream`

  An IMAP stream returned by imap_open().

`msglist`

  `msglist` is a range not just message numbers (as described in RFC2060).

`mailbox`

  The mailbox name, see imap_open() for more information

`options`

  `options` is a bitmask and may contain the single option:

  - `CP_UID` - the sequence numbers contain UIDS

## Возвращаемые значения

Возвращает `TRUE` в случае успешного завершения или `FALSE` в случае возникновения ошибки.

## Смотрите также

imap_mail_copy()

add a note User Contributed Notes
imap_mail_move
alex at bestgames dot ro
21-Nov-2005 01:36
`After using imap_mail_move, imap_mail_copy or imap_delete it is necesary to call imap_expunge() function.`
php at guardn dot de
09-Jul-2003 09:06
`To move mails via IMAP on an Exchange Server into "Gel�schte Objekte" use:
imap_mail_move($mbox, $delmsg, "Gel&APY-schte Objekte");
It took me some tcpdumping to get this out, since both
imap_utf7_encode and
imap_utf8
did not translate it right.
Guardn`
dinter at gmx dot de
27-Jan-2003 10:18
`I've used a dot in
imap_mail_move($mbox,$movmsgid,'INBOX.send');
instead of
INBOX/test
and it work's fine.`
vlad (php.net)
04-Nov-2002 01:37
`This keeps biting me time after time. A lot of IMAP servers with quotas don't implement 'move' right - they do a 'copy&delete' instead and don't recognize that this conflicts with their quota implementetions. So, if you try to move a large message, you'll exceed your quota even though moving it does not increase the total size of your mailbox. This is not PHP-specific, but I bet it'll bite someone else besides me, so here you go.`
juuuugroid at yahoo dot com
17-Jul-2002 02:28
`I had the most trouble with figureing out what the message list was supposed to be. There was one comment by jan@showstar.com but i was still terribly confused. So I searched and searched and searched. I read rfc2060 over 10 times. Then BAM! My brother found it here:
http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc2060.html#sec-6.4.7
Here is the importand stuff.
Another important field is the SEQUENCE, which identifies a set of messages by consecutive numbers from 1 to n where n is the number of messages in the mailbox. A sequence may consist of a single number, a pair of numbers delimited by colon (equivalent to all numbers between those two numbers), or a list of single numbers or number pairs. For example, the sequence 2,4:7,9,12:15 is equivalent to
2,4,5,6,7,9,12,13,14,15 and identifies all those messages.
There is what I know about it. BAM!`
laurent dot penou at gadz dot org
17-Aug-2001 12:28
`to complete the previous example, if the mbox/folders names are
{imap.free.fr}INBOX
{imap.free.fr}INBOX/draft
{imap.free.fr}INBOX/test
and you want to copy/move from INBOX to INBOX/test this is the syntax:
$mbox = imap_open("{imap.free.fr}INBOX",$mailuser,$mailpass)
or die("can't connect: ".imap_last_error());
...
imap_mail_move($mbox,$messageset,"INBOX/test");
Hope this could help !`
ian at showstar dot com
20-Jan-2000 06:41
`<pre>The syntax for the message list is defined in RFC2060
It is a string, containing a list of message numbers and ranges, separated by commas (no spaces anywhere.) For example, "1,2,5,11:15,19" would be accepted by imap_mail_copy or imap_mail_move.
A range of messages is defined as two message numbers separated by a colon (Ex. "1:10".) Also, a "*" may be used to refer to the last message in a mailbox. (Ex. "1:*" refers to all messages)
Be careful not to use the same mailbox for source and destination, especially if you expunge the mailbox immediately afterwards; the message will be copied (back over itself), flagged as deleted (by the imap_mail_move function), and then expunged.
The following code will move the messages in the $msg_no[] array from the folder in $mbox_name to the folder in $newmbox_name: ($mbox is an already-opened imap stream)
if ($mbox_name != $newmbox_name) {
reset($msg_no);
$messageset = implode (",",$msg_no);
imap_mail_move($mbox,$messageset,$newmbox_name);
imap_expunge($mbox);
}
</pre>`
portico dot nospam at neverwas dot net
11-Jan-2000 03:17
`This function works, just not like everything else IMAP in PHP3... rather than feeding the server {server.ext/type:port}folder just feed it the folder's name.`
matt at bonneau dot net
20-Dec-1999 03:49
`This function copies the mail and then marks the source as deleted. In order to see the changes, you must <PRE>imap_expunge</PRE> the source box.`
add a note
imap_mail imap_mail_copy

Last updated: Fri, 26 Jan 2007
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright © 2001-2007 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sat Mar 10 09:32:46 2007 PST