IMAP: как переместить сообщение от одной папки до другого

Я вижу, единственная ошибка в строке ниже.

app.use(express.static(__dirname + 'httpdocs'))

Попробуйте напечатать ниже два разных метода, используя консоль:

console.log(__dirname+ 'httpdocs');
console.log(path.join(__dirname, 'httpdocs'));

Вывод:

...\nodehttpdocs
...\node\httpdocs

Надеюсь, вы получите решение.

Если вы пытаетесь объединить путь вручную, вам нужно добавить разделитель пути '\' извне

Ex: app.use(express.static(__dirname + '\httpdocs'));

Или использовать метод ниже

Ex: app.use(express.static(path.join(__dirname, 'httpdocs')));

Я предлагаю использовать путь. метод соединения Потому что это добавит разделитель пути в зависимости от операционной системы. Или же вам придется управлять вручную.

20
задан Mark Harrison 23 September 2008 в 16:52
поделиться

3 ответа

Я не уверен, насколько сведущий Вы находитесь в IMAP - говорят, но в основном после входа в систему, "ВЫБИРАЮТ" исходный почтовый ящик, "КОПИРУЮТ" сообщения и "ВЫЧЕРКИВАЮТ" сообщения (или "УДАЛЯЮТ" старый почтовый ящик, если это пусто теперь :-).

a login a s
b select source
c copy 1 othermbox
d store 1 +flags (\Deleted)
e expunge

был бы пример сообщений для отправки. ( Примечание : сообщения IMAP требуют uniqe префикса перед каждой командой, таким образом "b c" впереди)

См. RFC 2060 для деталей.

19
ответ дан 29 November 2019 в 22:58
поделиться

Я предполагаю, что Вы КОПИРУЕТЕ сообщение в новую папку и затем удаляете (ВЫЧЕРКИВАЮТ) его в старом.

ПОДСКАЗКА RFC3501

нет никакой команды DELETE, которая делает то, что Вы имеете в виду, необходимо отметить сообщение, как удалено и затем ВЫЧЕРКНУТЬ почтовый ящик. Взгляните на RFC. Будьте осторожны с, УДАЛЯЮТ, как это удаляет целые почтовые ящики, не единственные письма.

4
ответ дан 29 November 2019 в 22:58
поделиться

Если у вас есть uid электронной почты, которую собираетесь переместить.

import imaplib

obj = imaplib.IMAP4_SSL('imap.gmail.com', 993)
obj.login('username', 'password')
obj.select(src_folder_name)
apply_lbl_msg = obj.uid('COPY', msg_uid, desti_folder_name)
if apply_lbl_msg[0] == 'OK':
    mov, data = obj.uid('STORE', msg_uid , '+FLAGS', '(\Deleted)')
    obj.expunge()

Где msg_uid - это uid письма.

10
ответ дан 29 November 2019 в 22:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: