Могу ли я отправлять электронную почту программно в приложении для iPhone? - PullRequest
9 голосов
/ 07 ноября 2010

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

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

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

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

Ответы [ 8 ]

12 голосов
/ 15 февраля 2011

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

5 голосов
/ 08 ноября 2010

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

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

3 голосов
/ 08 ноября 2010

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

  • Пантомима
  • MailCore
  • EdMessage
1 голос
/ 22 января 2018

Ища решение такой проблемы, я нашел здесь кое-что интересное: Как отправлять почту из приложения iphone без отображения MFMailComposeViewController?

Надеюсь, это будет полезно!

1 голос
/ 02 декабря 2010

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

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

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

0 голосов
/ 08 ноября 2010

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

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

0 голосов
/ 07 ноября 2010

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

Выезд:

...