2010-11-07 2 views
8

Мне нужно иметь возможность отправлять предварительно отформатированное электронное сообщение или текстовое сообщение SMS программно из приложения iphone. Это можно сделать? Я посмотрел на класс Apple MFMailComposeViewController, но это «обеспечивает стандартный интерфейс, который управляет редактированием и отправкой сообщения электронной почты», а класс MFMessageComposeViewController также имеет собственный «стандартный системный интерфейс для составления текстовых SMS-сообщений». Это позволяет вам представить интерфейс пользователю, где они должны заполнить все данные, а затем явно нажать кнопку отправки.Могу ли я отправить электронное письмо в приложение iPhone?

Я не могу использовать эту функциональность шаблона.

Мне нужно иметь возможность отправлять сообщения, не представляя никакого интерфейса для пользователя. Я знаю, что это звучит злобно, но на самом деле это для коммерческого приложения, которое должно общаться с группой пользователей в центральном офисе, когда пользователи в этой области выполняют конкретные действия в этой области.

Кто-нибудь нашел решение этой проблемы?

+3

См. [Этот ответ] (http://stackoverflow.com/questions/310946/how-can-i-send-mail-from-an-iphone-application/449245#449245) на [Как отправить почту из приложения iPhone ] (http://stackoverflow.com/questions/310946/how-can-i-send-mail-from-an-iphone-application). –

ответ

11

После долгого расследования, я обнаружил, что отправка сообщений электронной почты программных средств, без вмешательства пользователя, от приложение iphone, не может быть реализовано с использованием какой-либо из фреймворков Apple.

0

У меня нет опыта работы с iOS, но у меня достаточно опыта работы с протоколами электронной почты, чтобы сказать, что я был бы очень удивлен, если бы клиентское приложение могло отправлять электронную почту без доступа к серверу. Скорее всего, письмо будет отправлено с использованием протокола SMTP и поэтому должно быть отправлено с использованием SMTP-сервера. Выбор того, как вы подключаетесь к этому серверу, - это единственный вариант, который у вас есть. Вы можете подключиться к серверному сценарию (например, php) для генерации и отправки электронной почты, или вы сможете создать сокет и напрямую подключиться к порту 25 на SMTP-сервере и все еще генерировать электронную почту из своего клиентского приложения.

Отъезд:

+0

Вопрос не говорит о том, что вы не используете сервер. –

+0

«Мне нужно иметь возможность отправлять предварительно отформатированное письмо ... программно из приложения iphone. Это можно сделать?» Возможно, я читаю это слишком буквально, но похоже, что он хочет, чтобы приложение было тем, что действительно отправляет сообщение. – Aaron

+0

Правильно, это приложение iphone работает на iOS4, и ему нужно отправить сообщение. Это не может включать настройку программирования сервера или сокета на другой компьютер. Тем не менее, телефон уже настроен для отправки как электронных писем, так и текстовых SMS-сообщений, поэтому у ISP-сервера уже установлен стандартный почтовый сервер. Вопрос в том, как послать сообщение без необходимости во что-либо входить? Получатель, субъект и тело письма могут быть заполнены да, но как его можно отправить? ... программно. – jcpennypincher

0

Это стандарт не представляется возможным. Если вы не можете использовать стандартный диалог, вам нужно использовать SMTP.

СМС-это то же самое, используйте диалог использования интернет-сервиса sms (большинство из них стоит денег).

3

Вот несколько SMTP API, которые работают на OS X. Они могут работать и на iOS.

  • Пантомима
  • MailCore
  • EdMessage
5

Настройка веб-сервиса вы можете отправлять сообщения с помощью запроса HTTP. Если вы размещаете только один адрес, это может работать очень хорошо, хотя вы можете захотеть заставить пользователя ввести свой адрес электронной почты.

В противном случае доступен только стандартный диалог (это зависит от использования любой учетной записи, установленной на устройстве).

1

только возможно через веб-интерфейс, вы не можете скрыть интерфейс, это в соответствии с яблонями Guidlines Разработчика и согласно документации

0

Вы всегда можете использовать telnet с низким уровнем, используя протокол SMTP, на известный почтовый сервер для отправки сообщения. Я не знаю, отклонит ли Apple приложение, но SMTP проклят просто.

Смежные вопросы