System.Convert.IsDbNull][1](table.rows[0][0]);
IIRC, (table.rows[0][0] == null)
не будет работать, как DbNull.Value != null;
Недавно я работал над проектом, который требовал синтаксического анализа электронной почты из Gmail и обновления базы данных определенными значениями на основе содержимого электронной почты. Я использовал библиотеку ezcMail (сейчас) Zeta Components , чтобы подключиться к почтовому серверу и проанализировать электронные письма.
Стратегия, которую я принял, заключалась в том, чтобы фильтровать всю интересующую входящую почту с пометкой «необработанная». Запускайте PHP-скрипт через crontab каждые 15 минут. Сценарий подключится к почтовому серверу, откроет необработанную папку IMAP и проанализирует каждое электронное письмо. После вставки интересных значений в базу данных сценарий перемещает файлы в другую папку IMAP «Обработано».
Я также обнаружил, что IMAP лучше, чем POP для такого рода обработки.
Я предлагаю использовать компонент Zend_Mail в Zend Framework.
Вам необходимо реализовать почтовый клиент на Php. Вероятно, это будет клиент POP .
Этот код запросит POP-сервер, содержащий вашу электронную почту, загрузит его, а затем вы сможете проанализировать его по мере необходимости.
Быстрый поиск в Google: «POP client php» открыл огромное количество различных опций. Трудно сказать, действительно ли существует «The One True PHP POP Library», иначе я бы включил ее сюда. Если вы используете уже существующий фреймворк, вы можете проверить его уровень поддержки POP, в противном случае проверьте результаты Google выше и сделайте свой выбор. Или может быть проще всего (и наиболее познавательно :)) свернуть свою собственную.
Если вы хотите избежать перехвата POP или IMAP на другой сервер, чтобы получить электронную почту, вы можете добавить «перехватчик» в процесс получения электронной почты на каком-то настроенном вами SMTP-сервере (возможно, на том же сервере php). Затем пусть адрес электронной почты будет обработан этим сервером.
Вот пример с постфиксом, но аналогичные вещи возможны и с sendmail.
http://www.adkap.com/autoresponder.html
Используйте procmail, если он установлен в вашей системе. Поместите эти строки в файл .procmailrc в домашнем каталоге пользователя, который получает электронное письмо.
:0
| /path/to/your/script.php
Или вы также можете использовать файл .forward, содержащий
"|/path/to/your/script.php"
Procmail имеет то преимущество, что он позволяет вам обрабатывать больше сложная фильтрация, если она когда-либо потребуется вашему приложению.
Ваш файл script.php будет читать заголовки и тело сообщения электронной почты со стандартного ввода.
Проверьте fMailbox . Он не требует каких-либо нестандартных расширений (таких как imap) и был протестирован с различными серверами, вложениями, составными сообщениями, SSL и т. Д.