Есть ли способ получить электронную почту внутри моего приложения для iphone? - PullRequest
0 голосов
/ 23 августа 2011

Я хочу получать сообщения из тела электронной почты и оповещать в своем приложении для iPhone. Это возможно? Могу ли я использовать MessageUI.framework для получения электронной почты внутри приложения iPhone.

Ответы [ 2 ]

0 голосов
/ 23 августа 2011

Вы не можете использовать MessageUI.framework.

Для предыдущего проекта я создал простой веб-сервис на основе PHP, размещенный на моем веб-сервере. Веб-сервис взаимодействовал с сервером POP. Из веб-службы я могу получить необходимую информацию в своем приложении через stringWithContentsOfURL.

Информация учетной записи POP была передана службе в виде зашифрованных параметров.

PHP позволил легко разобрать интересные части электронных писем. Обработка электронной почты вне приложения позволила легко настроить санацию данных в электронных письмах.

Уведомления могут обрабатываться локально или на сервере, где вы можете автоматизировать запуск PHP с помощью сервиса, такого как setcronjob.com

Сценарий выглядел примерно так:

<?php

$msgList = array();

# Connect to POP server
if($conn = imap_open("{pop.yourserver.dk:110/pop3}INBOX","robot@yourserver.dk", "yourpassword")) {

    # Check for messages
    $check = imap_mailboxmsginfo($conn);

    # Process each message
    for($i = 1; $i <= $check->Nmsgs; $i++) {
        $message = imap_body($conn,$i);

        # If the message matches some criteria...
        preg_match('/([0-9\/]{8}) ([0-9:]{8}).*(Niros)[^\(]*\((.+)\)/m', $message, $matches);
        if($matches) {

            # ...save it
            array_push($msgList, $matches[1]);

        }

        # Delete all messages processed and spam
        imap_delete($connection,$message);
    }

    imap_close($conn);

}

# Print put the information pulled out of the matched emails
# JSON formatted data would be easy to parse
for($i = 0; $i < 10; $i++) {
    echo array_pop($msgList);
}

echo "Last update: ".date(DATE_RFC822);

?>
0 голосов
/ 23 августа 2011

Вы не можете использовать MessageUI для получения электронной почты. Вам нужно будет создать свой собственный почтовый клиент.

...