2010-11-07 13 views
8

Necesito poder enviar un mensaje de texto pre-formateado de forma programada desde una aplicación de iphone. Se puede hacer esto? He visto la clase MFMailComposeViewController de apple, pero esto "proporciona una interfaz estándar que gestiona la edición y el envío de un mensaje de correo electrónico" y la clase MFMessageComposeViewController también tiene su propia "interfaz de sistema estándar para componer mensajes de texto SMS". Éstos le permiten presentar una interfaz al usuario donde tienen que completar todos los datos y luego presionar explícitamente un botón de envío.¿Puedo enviar un correo electrónico mediante programación en la aplicación iPhone?

No puedo usar esta funcionalidad repetitiva.

Necesito poder enviar un mensaje sin presentar ninguna interfaz al usuario. Sé que esto suena mal, pero en realidad es para una aplicación comercial que necesita comunicarse con un grupo de usuarios en una oficina central cuando los usuarios en el campo han realizado acciones específicas en el campo.

¿Alguien ha encontrado una solución para esto?

+3

Ver [esta respuesta] (http://stackoverflow.com/questions/310946/how-can-i-send-mail-from-an-iphone-application/449245#449245) para [Cómo puedo enviar un correo electrónico desde una aplicación de iPhone ] (http://stackoverflow.com/questions/310946/how-can-i-send-mail-from-an-iphone-application). –

Respuesta

11

Después de mucha investigación, he descubierto que el envío de mensajes de correo electrónico mediante programación, sin intervención del usuario, desde una aplicación para iphone, no se puede implementar usando ninguno de los frameworks de Apple.

0

No tengo experiencia con iOS, pero tengo suficiente experiencia con los protocolos de correo electrónico como para decir que me sorprendería mucho si una aplicación cliente pudiera enviar correos electrónicos sin acceder a un servidor. Lo más probable es que el correo electrónico se envíe usando el protocolo SMTP y, por lo tanto, debe enviarse usando un servidor SMTP. Elegir cómo te conectas a ese servidor es la única opción que tienes. Puede conectarse a un script del lado del servidor (como php) para generar y enviar el correo electrónico, o puede crear un socket y conectarse directamente al puerto 25 en el servidor SMTP y aún generar el correo electrónico desde su aplicación cliente.

Salida:

+0

La pregunta no dice nada acerca de no usar un servidor. –

+0

"Necesito poder enviar un correo electrónico preformateado ... programáticamente desde una aplicación de iPhone. ¿Se puede hacer esto?" Tal vez lo estoy leyendo demasiado literalmente, pero parece que él quiere que la aplicación sea lo que realmente envía el mensaje. – Aaron

+0

Correcto, esta es una aplicación para iphone que se ejecuta en iOS4 y necesita enviar el mensaje. Esto no puede implicar la configuración de una programación de servidor o socket a otra máquina. Sin embargo, el teléfono ya está configurado para enviar correos electrónicos y mensajes de texto SMS, por lo que hay un servidor de correo electrónico estándar configurado por el ISP. La pregunta es cómo se puede enviar un mensaje sin que el usuario tenga que ingresar nada. El destinatario, el sujeto y el cuerpo del correo electrónico se pueden rellenar previamente, ¿pero cómo se puede enviar? ... programáticamente. – jcpennypincher

0

Esta es la norma no es posible. Si no puede usar el diálogo estándar, necesita usar SMTP.

SMS es lo mismo, use el cuadro de diálogo de usar un servicio de sms basado en la web (la mayoría de estos cuesta algo de dinero).

3

Aquí hay algunas API SMTP que funcionan en OS X. También pueden funcionar en iOS.

  • Pantomima
  • MailCore
  • EdMessage
5

establecer un servicio web se puede publicar en el uso de una petición HTTP. Si está publicando en una sola dirección, esto puede funcionar muy bien, aunque es posible que desee que el usuario ingrese su dirección de correo de devolución.

De lo contrario, solo está disponible el diálogo estándar (esto depende de usar cualquier cuenta que hayan configurado en el dispositivo).

1

solo posible a través de la interfaz web, no se puede ocultar la interfaz, esto es según Guidlines Apple para desarrollador y según la documentación

0

Siempre se puede hacer un telnet de bajo nivel utilizando el protocolo SMTP a un servidor de correo conocido para enviar un mensaje. No sé si Apple rechazará la aplicación, pero SMTP es condenadamente simple.

Cuestiones relacionadas