2010-11-07 14 views
8

Ich muss in der Lage sein, eine vorformatierte E-Mail oder SMS-Textnachricht programmgesteuert aus einer iPhone App heraus zu senden. Kann das gemacht werden? Ich habe Apples MFMailComposeViewController-Klasse angeschaut, aber diese "bietet eine Standardschnittstelle, die das Editieren und Senden einer E-Mail-Nachricht verwaltet" und die MFMessageComposeViewController-Klasse hat auch ihre eigene "Standard-Systemschnittstelle zum Verfassen von SMS-Nachrichten". Diese ermöglichen es Ihnen, dem Benutzer eine Schnittstelle zu präsentieren, wo sie alle Daten ausfüllen müssen und dann explizit eine Sendetaste drücken müssen.Kann ich E-Mails programmgesteuert in der iPhone App senden?

Ich kann diese Boilerplate-Funktionalität nicht verwenden.

Ich muss in der Lage sein, eine Nachricht zu senden, ohne dem Benutzer irgendeine Schnittstelle zu präsentieren. Ich weiß, dass das böse klingt, aber eigentlich ist es für eine kommerzielle Anwendung, die mit einer Benutzergruppe in einer Zentrale kommunizieren muss, wenn Benutzer vor Ort bestimmte Aktionen im Feld ausgeführt haben.

Hat jemand eine Lösung gefunden?

+3

Siehe [diese Antwort] (http://stackoverflow.com/questions/310946/how-can-i-send-mail-from-an-iphone-application/449245#449245) zu [Wie kann ich E-Mails senden aus einer iPhone-Applikation ] (http://stackoverflow.com/questions/310946/how-can-i-send-mail-from-an-iphone-application). –

Antwort

11

Nach vielen Untersuchungen habe ich festgestellt, dass E-Mails programmatisch, ohne Eingreifen des Benutzers zu senden, von Eine iPhone-Anwendung kann nicht mit einem der Apple-Frameworks implementiert werden.

0

Ich habe keine Erfahrung mit iOS, aber ich habe genug Erfahrung mit E-Mail-Protokollen zu sagen, ich wäre sehr überrascht, wenn eine Client-Anwendung E-Mails ohne Zugriff auf einen Server senden könnte. Sehr wahrscheinlich wird die E-Mail mit dem SMTP-Protokoll gesendet und muss daher über einen SMTP-Server gesendet werden. Die Auswahl, wie Sie sich mit diesem Server verbinden, ist die einzige Option, die Sie haben. Sie könnten eine Verbindung zu einem serverseitigen Skript (z. B. php) herstellen, um die E-Mail zu generieren und zu senden, oder Sie können einen Socket erstellen und direkt eine Verbindung zu Port 25 auf dem SMTP-Server herstellen und die E-Mail von Ihrer Clientanwendung generieren.

Check out:

+0

Die Frage sagt nichts darüber aus, keinen Server zu verwenden. –

+0

"Ich muss in der Lage sein, eine vorformatierte E-Mail ... programmgesteuert aus einer iPhone-App zu senden. Kann das gemacht werden?" Vielleicht lese ich es zu wörtlich, aber es klingt so, als wolle er, dass die App das ist, was die Botschaft tatsächlich sendet. – Aaron

+0

Korrekt, das ist eine iPhone App, die auf iOS4 läuft und die Nachricht senden muss. Dies kann nicht die Einrichtung einer Server- oder Socket-Programmierung für eine andere Maschine beinhalten. Das Telefon ist jedoch bereits so konfiguriert, dass es sowohl E-Mails als auch SMS versendet. Daher ist bereits ein Standard-E-Mail-Server vom ISP eingerichtet. Die Frage ist, wie kann eine Nachricht gesendet werden, ohne dass ein Benutzer etwas eingeben muss? Der Empfänger, der Betreff und der Text der E-Mail können bereits vorgefüllt sein, aber wie kann er gesendet werden? ...programmatisch. – jcpennypincher

0

Dieser Standard ist nicht möglich. Wenn Sie den Standarddialog nicht verwenden können, müssen Sie SMTP verwenden.

SMS ist das gleiche, verwenden Sie den Dialog der Verwendung eines webbasierten SMS-Dienstes (die meisten davon kosten etwas Geld).

3

Hier sind ein paar SMTP-APIs, die unter OS X funktionieren. Sie könnten auch unter iOS funktionieren.

  • Pantomime
  • MailCore
  • EdMessage
5

einen Web-Service einrichten Sie über eine HTTP-Anfrage veröffentlichen können. Wenn Sie nur an eine Adresse senden, kann dies sehr gut funktionieren, obwohl Sie den Benutzer möglicherweise dazu auffordern, seine Rücksendeadresse einzugeben.

Andernfalls ist nur der Standarddialog verfügbar (dies hängt davon ab, welches Konto auf dem Gerät eingerichtet wurde).

1

nur über Webinterface können Sie die Schnittstelle verstecken, das ist wie pro Apfel Guidlines an dem Entwickler und gemäß Dokumentation

0

Sie können immer ein telnet mit niedriger Stufe verwenden, indem Sie das SMTP-Protokoll an einen bekannten Mail-Server senden, um eine Nachricht zu senden. Ich weiß nicht, ob Apple die App ablehnen wird, aber SMTP ist verdammt einfach.

Verwandte Themen