You are not logged in.
After IMAP-Catch I want the mails to be moved into the IMAP-Folder "Tickets". But I can't get it to work. Here is the Log-Entry:
[95.90.197.86 >> 05/July/2018 @ 13:29:30] Action/Info: Move option enabled, moving ticket to INBOX/Tickets
The folder ist available, in Thunderbird for example the address is: imap://xxx%40xxx@xxx.org/INBOX/Tickets. I tried "Tickets" and "INBOX/Tickets" upper- and lowecase. But I can't get it to work. What am I doing wrong?
If you select the folder via the drop down on the imap settings page, that *should* work. Might be worth checking your email server to see if it is actually trying to move the email and there are permission issues.
When I activate the mail moving feature the mails remains in the inbox and are not moved or deleted. Can't see anything in maillog.
The drop down on the IMAP settings page ist not working No problems moving mails from other mail clients / scripts.
Any other ideas? Thank you for your help!
The drop down on the IMAP settings page is not working
Maybe it`s related? Not sure why it won`t read the folders. Did you check your server error log?
I've found the solution: In the file /admin/control/system/_ajax.php (case 'imfolders') the port ist missing in imap_list() and str_replace() (maybe this is a not necessary step) but the main problem is that the ssl setting (Checkbox SSL) from the imap settings is not used here => So I had to add the flag /ssl manually to the field "Mailbox Flags". So I found out that the folder is INBOX.Tickets and not INBOX/Tickets and mail move is working Please fix this for next update. Thank you
I editet the file /admin/control/system/_ajax.php and replaced the following block (case 'imfolders'):
$mbox = @imap_open('{' . $host . ':' . $port . '/imap' . $flag . '}', $user, $pass);
if ($mbox) {
$list = @imap_list($mbox, '{' . $host . '}', '*');
if (is_array($list)) {
sort($list);
$html = '<option value="0">' . $msg_imap26 . '</option>';
foreach ($list AS $box) {
$box = str_replace('{' . $host . '}', '', imap_utf7_decode($box));
$html .= '<option value="' . $box . '">' . $box . '</option>';
}
with
$mbox = @imap_open('{' . $host . ':' . $port . '/imap' . $flag . '}', $user, $pass);
if ($mbox) {
$list = @imap_list($mbox, '{' . $host . ':' . $port . '}', '*');
if (is_array($list)) {
sort($list);
$html = '<option value="0">' . $msg_imap26 . '</option>';
foreach ($list AS $box) {
$box = str_replace('{' . $host . ':' . $port . '}', '', imap_utf7_decode($box));
$html .= '<option value="' . $box . '">' . $box . '</option>';
}
Last edited by y3000 (11-07-2018 13:56:44)
OK, let me check. imap_list shouldn`t require the port number, but happy to add it if it`s more consistent.
but the main problem is that the ssl setting (Checkbox SSL) from the imap settings is not used here
Yes, this is a bug thanks. It should be reading from the imap class file. Older code I forgot to update, sorry about that and thanks for letting me know.