Я вижу, единственная ошибка в строке ниже.
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')));
Я предлагаю использовать путь. метод соединения Потому что это добавит разделитель пути в зависимости от операционной системы. Или же вам придется управлять вручную.
Я не уверен, насколько сведущий Вы находитесь в 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 для деталей.
Я предполагаю, что Вы КОПИРУЕТЕ сообщение в новую папку и затем удаляете (ВЫЧЕРКИВАЮТ) его в старом.
нет никакой команды DELETE, которая делает то, что Вы имеете в виду, необходимо отметить сообщение, как удалено и затем ВЫЧЕРКНУТЬ почтовый ящик. Взгляните на RFC. Будьте осторожны с, УДАЛЯЮТ, как это удаляет целые почтовые ящики, не единственные письма.
Если у вас есть 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 письма.