2009-08-11 19 views
16

Deseo enviar correo desde una aplicación de iPhone sin mostrar MFMailComposeViewController. También quiero que este correo se envíe desde la cuenta de correo predeterminada del usuario. ¿Es posible hacer esto?Enviar correo sin MFMailComposeViewController

+0

¿Quiere decir que desea enviar un correo electrónico sin necesidad de confirmación por parte del usuario? – notnoop

+4

No puedes hacer eso legalmente. Use MFMailComposeViewController. –

+0

No, lo que quería decir es que el usuario pueda usar un formulario de correo personalizado en lugar del MFMailComposeViewController integrado; Quería esto porque he agregado una funcionalidad que no es compatible con MFMailComposeViewController. No es como si quisiera enviar spam a las personas. –

Respuesta

15

Esto no es compatible con el iPhone SDK, probablemente porque Apple no quiere que lo haga.

¿Por qué no? Mi suposición: porque es fácil abusar. Si supiéramos la dirección de correo electrónico del usuario, podríamos enviar spam, podríamos falsificar correos electrónicos de ellos, etc. Imagínese descubrir que una aplicación para iPhone le envió un correo electrónico sin su conocimiento, no genial, incluso si la aplicación tenía buenas intenciones.

Por lo tanto, cualquier cosa que haga para evitar eso, es probable que lo rechacen de la tienda de aplicaciones.

Habiendo dicho todo eso, básicamente puedes escribir tu propio código de interacción smtp para chatear con el servidor de correo saliente del usuario. Por ejemplo, si el usuario tiene una cuenta de Gmail, puede solicitarles su correo electrónico y contraseña, deberá saber cómo comunicarse con los servidores de Gmail y enviar correos electrónicos a través de ellos.

Hacer esa ruta significa preguntar al usuario su nombre de usuario, contraseña, y preguntar o averiguar la información de su servidor de correo. Otra opción es enviar directamente desde el teléfono (su propio servidor smpt, no solo un cliente), que es un poco más de codificación. Y si escribe su propio servidor, es más probable que se bloquee el correo que envía ya que su IP de origen podría no coincidir con el dominio en el correo electrónico del remitente.

También existen algunas bibliotecas que pueden ayudar. Anterior pregunta relacionada:

4

Hay razones legítimas para querer enviar un correo electrónico. (Tales como la comunicación con un servidor a través de SMTP en lugar de HTTP)

Este blog debe conseguir que va: http://vafer.org/blog/20080604120118

+0

Sí, gracias. La gente parece pensar que solo quiero enviar spam a la gente. ¿Qué sucede si quiero una forma integrada de enviar comentarios? No todos los correos electrónicos sin MFMailComposeViewController son maliciosos. –

+0

sí, hay razones legítimas por las que la gente quiere hacer esto. por ejemplo, el dispositivo podría enviar un correo electrónico si el dispositivo no está enchufado, alguien juega con un ipad que se muestra en una tienda, saca el acorde. – Zsolt

Cuestiones relacionadas