Я настраиваю адрес электронной почты «прокси-типа», где электронные письма-уведомления отправляются пользователю, на который он подписался, но он может ответить на email notification@site.com
который должен содержать его ответ. На стороне сервера я хочу иметь возможность читать его электронную почту и добавлять свой ответ в базу данных – письмо хранится в почтовом ящике notification
что отлично, теперь можно читать его с помощью PHP.
Итак, я искал решения для этого, многие решения были IMAP, поэтому я подумал, что попробую, но я не могу понять, как подключить мой сервер, чтобы открыть папку «Входящие». Я настроен на разные порты, но ни один из них не может подключиться.
imap_open("{localhost/imap:143}", "notification", "password");
Я получаю такие ошибки:
Warning: imap_open(): Couldn't open stream {localhost/imap:143} in /var/www/site.com/www/mail.php on line 8 bool(false) Notice: Unknown: Connection failed to localhost,143: Connection refused (errflg=1) in Unknown on line 0 Notice: Unknown: Connection failed to localhost,143: Connection refused (errflg=1) in Unknown on line 0 Notice: Unknown: Connection failed to localhost,143: Connection refused (errflg=1) in Unknown on line 0 Notice: Unknown: Connection failed to localhost,143: Connection refused (errflg=2) in Unknown on line 0
Я не понимаю, очевидно, это первый раз, когда я пытаюсь это сделать, но что это такое, что я явно ошибаюсь в связи?
EDIT: я начал courier-imap
теперь я получаю следующее:
Notice: Unknown: [CLOSED] IMAP connection broken (server response) (errflg=1) in Unknown on line 0 Notice: Unknown: [ALERT] Fatal error: No such file or directory: No such file or directory in Unknown on line 0
У меня была такая же проблема на моей системе Ubuntu 11.04, и я решил, создав папки «Maildir» в моем домашнем каталоге (как описано здесь ) со следующими командами:
cd ~ maildirmake Maildir maildirmake Maildir/.Drafts maildirmake Maildir/.Sent maildirmake Maildir/.Trash maildirmake Maildir/.Templates chmod -R 700 Maildir
Прежде всего, вы должны проверить наличие ошибок в файле журнала «/ var / log / syslog» (например, выполнив команду sudo tail /var/log/syslog
).
В моем журнале я заметил следующую ошибку: imapd: chdir Maildir: No such file or directory
.
Поэтому я проверил файл конфигурации «/ etc / courier / imapd», и я увидел, что для параметра MAILDIRPATH установлено значение «Maildir»:
# # MAILDIRPATH - directory name of the maildir directory. # MAILDIRPATH=Maildir
Затем я создал папки «Maildir», как описано выше, и функция imap_open () наконец-то сработала.
Вы просите об основной отладке здесь, поэтому я стараюсь, может быть, это machtes
Вы пытались указать почтовый ящик? И кстати, вы должны использовать правильный синтаксис, это host:port/protocol
тогда как imap
является протоколом по умолчанию, и вы можете его оставить:
imap_open("{localhost:143}INBOX", "notification", "password"); ^^^^^^^^^^^^^ ^^^^^
Пожалуйста, сравните с многочисленными примерами и примечаниями к документам imap_open
.
Также, поскольку это отладка, попробуйте:
var_dump(imap_errors(), imap_alerts());
Счастливая отладка.