He estado buscando un marco para simplemente permitirme enviar un correo electrónico desde mi aplicación. He intentado MailCore, Pantomime y SKPSMTP todo sin suerte. No puedo hacer que compilen en Xcode, así que supuse que estaban desactualizados. ¿Hay alguna manera de que pueda hacer esto? ¿Si es así, cómo? Gracias.Xcode 4/iOS - Enviar un correo electrónico usando SMTP desde mi aplicación
Respuesta
Puede enviar fácilmente correos electrónicos desde su dispositivo iOS. No es necesario implementar SMTP y todo. Lo mejor de usar las funciones de correo electrónico incorporado en iOS es que le da acceso a la libreta de direcciones. Por lo tanto, completa automáticamente los nombres, las direcciones de correo electrónico. Yaaiiii !!
Incluir, AddressBook
, AddressBookUI
y MessageUI
marcos y código algo como esto. Tenga en cuenta que incluso puede elegir enviar contenido como HTML también.
#import <MessageUI/MessageUI.h>
#import <AddressBook/AddressBook.h>
#import <AddressBookUI/AddressBookUI.h>
MFMailComposeViewController *mailComposer;
mailComposer = [[MFMailComposeViewController alloc] init];
mailComposer.mailComposeDelegate = self;
[mailComposer setModalPresentationStyle:UIModalPresentationFormSheet];
[mailComposer setSubject:@"your custom subject"];
[mailComposer setMessageBody:@"your custom body content" isHTML:NO];
[self presentModalViewController:mailComposer animated:YES];
[mailComposer release];
En aras de la exhaustividad, tengo que escribir este selector para cerrar la ventana de correo electrónico si el usuario presiona cancel
o send
-
- (void)mailComposeController:(MFMailComposeViewController*)controller
didFinishWithResult:(MFMailComposeResult)result
error:(NSError*)error
{
if(error) NSLog(@"ERROR - mailComposeController: %@", [error localizedDescription]);
[self dismissModalViewControllerAnimated:YES];
return;
}
codificación feliz ...
¡Gracias por su respuesta detallada y algo humorística! :) ¿Esto traerá la pantalla de correo desde la parte inferior o la enviará silenciosamente en segundo plano? Porque estoy apuntando a lo último. –
lo haría imagine que la forma de hacerlo de Apple Approved sería enviar los datos a un servidor a través de HTTP Post, y hacer que el servidor genere el correo para usted. He visto a otros haciendo preguntas similares a esto, y la respuesta es que si lo envía desde el dispositivo, realmente necesita avisarle al usuario.
Incluso puedo decirle por qué esto es: Imagine una aplicación que podría enviarse a todos en su libreta de direcciones sin su confirmación, diciéndoles que acaba de instalar la aplicación X, y ellos también deberían hacerlo. Incluso si tiene buenas intenciones, esto podría crear rápidamente una gran tormenta SMTP, y en esencia, este sería el virus "Te amo".
Eso fue una tensión suficiente en el Internet público, pero en los operadores inalámbricos, podría causar rápidamente una sobrecarga suficiente para bloquear el servicio de cel.
Conclusión: Use el ComposeViewController como lo sugiere @Srikar, o bien envíe los datos a su servidor y envíelos desde allí.
Entiendo eso, pero si no fuera a utilizar los marcos incorporados de apple, entonces no necesitaría acceder a la libreta de direcciones. Solo uno por correo electrónico y uno por correo electrónico. Pero si esto no es posible, solo tendré que hacer que el usuario complete el formulario y se genere el correo electrónico solo para presionar Enviar. –
SKPSMTPMessage funciona bien para enviar correos electrónicos sin la necesidad de una IU .
Asegúrese de agregar una referencia al CFNetwork.framework
en su proyecto. De lo contrario, obtendrás errores de compilación.
Utilicé este 'SKPSMTPMessage'. Pero necesita codificar el nombre de usuario y la contraseña. Pero quiero enviar el correo electrónico usando una cuenta de correo electrónico ya iniciada en el iPhone. Cómo puedo hacer eso – iDia
Cabe señalar que MFMailComposeViewController
tiene un método llamado canSendMail. Si no marca esto antes de presentar un MFMailComposeViewController
en un dispositivo que no tiene una cuenta de correo electrónico, obtendrá un SIGABRT.
Es fácil pasar esto por alto al probar en el dispositivo o el simulador, ya que probablemente tenga una cuenta de correo electrónico en su Mac y su iPad.
- 1. iphone para enviar correo electrónico usando el servidor smtp?
- 2. Enviar correo usando SMTP localhost
- 3. ¿Cómo puedo enviar/recibir (SMTP/POP3) correo electrónico usando R?
- 4. ¿Cómo puede enviar mi aplicación Parse.com un correo electrónico?
- 5. ¿Cómo enviar correo electrónico desde localhost usando PHP en Linux
- 6. Enviar correo electrónico desde Cocoa
- 7. SMTP enviando un correo electrónico de prioridad
- 8. cómo enviar correo usando smtp en asp.net
- 9. Enviar correo electrónico en GMail SMTP bajo confianza media
- 10. enviar correo electrónico desde localhost
- 11. django send_mail con servidor SMTP no puede enviar correo electrónico
- 12. Enviar correo electrónico desde un desencadenador
- 13. Correo de Java: envío de correo electrónico sin SMTP
- 14. Sandboxing mi aplicación con Scripting Bridge para enviar correo electrónico
- 15. ¿Cómo enviar un correo electrónico usando Zend_Mail, sendmail y localhost?
- 16. Enviar correo electrónico a través de SMTP Gmail
- 17. Cómo enviar un correo electrónico html a outlook desde Java
- 18. ¿Cómo envío un correo electrónico a mi cuenta de Gmail usando SMTP y Perl?
- 19. Ruby Net :: SMTP - Enviar correo electrónico con bcc: destinatarios
- 20. vb.net enviar correo electrónico
- 21. Enviando correo electrónico usando smtp y estableciendo el id-mensaje
- 22. Enviar correo electrónico desde el programa Ruby con TLS
- 23. ¿Cómo enviar un correo electrónico desde Asp.net Mvc-3?
- 24. Enviar correo electrónico con attchement usando System.Net.Mail
- 25. No se puede enviar correo electrónico SMTP desde el servicio de Windows en Win7
- 26. Acción de correo electrónico SMTP Google Apps
- 27. Usando Android Intent.ACTION_SEND para enviar correo electrónico
- 28. Enviar correo electrónico - Cocoa
- 29. ¿Cómo envío un mensaje de correo electrónico desde mi aplicación C#?
- 30. enviar correo electrónico asp.net C#
Hay una manera de mostrar un nuevo cuadro de correo electrónico en su aplicación con su contenido, pero el usuario controla si enviarlo. No estoy seguro de que la implementación de su propio SMTP dentro de una aplicación sea aprobada por Apple. – Dani
Quizás no, pero hay muchas aplicaciones que implementan esto no están allí? El contexto en el que se encuentra es un formulario de reserva para un hotel. Entonces, si agrego un botón de enviar, y Apple veo que no estoy haciendo nada desagradable, no veo ninguna razón por la que sea rechazado. A menos que me haya perdido algo en las pautas. Gracias por tu aporte. –
He compilado el código SKPSMTP con éxito. Intente agregar los archivos .m explícitamente a Build Fhases/Compile Sources. – Ellis