2009-08-04 16 views
7

estoy usando el MFMailComposeViewController en 3.0 para enviar un correo electrónico con datos adjuntos, etc. dentro de mi aplicación. Me gustaría que la dirección "Para:" se establezca de manera predeterminada en la cuenta/dirección predeterminada en el dispositivo. ¿Cómo puedo acceder a esta dirección para colocarla en una cadena para setToRecipients?acceso de direcciones de correo electrónico predeterminada

Esencialmente, me voy a permitir que el usuario envíe un correo electrónico a sí mismos (como el valor predeterminado "A") con un archivo adjunto dentro de la aplicación.

Respuesta

5

La API no expone que la información públicamente (probablemente por buenas razones, tales como la prevención de los desarrolladores de la recolección de direcciones de correo electrónico de los usuarios de iPhone).

Probablemente debería ir sobre la solicitud de dirección de correo electrónico del usuario y luego guardarlo para uso futuro.

+6

Eso es extraño teniendo en cuenta que puede obtener direcciones de correo electrónico de los contactos en la libreta de direcciones – Surya

+0

@Neil es posible obtener la dirección de correo electrónico predeterminado en iOS? –

5

Parece que la respuesta aceptada es incorrecto

Getting user's default email address in Cocoa

Esta respuesta muestra el código para obtener la dirección de correo electrónico de la libreta de direcciones (que aparece en 'yo')

EDIT: Tenga en cuenta el comentario! OSX solo no iOS: |

+4

Solo para aclarar ya que esta pregunta está etiquetada para iPhone: ese método parece funcionar solo para OSX, no para iOS. http://stackoverflow.com/questions/3642968/how-do-you-access-the-current-users-record-in-address-book –

2

Puede utilizar ABGetMe para iOS para obtener la tarjeta de libro de direcciones del usuario. Eche un vistazo al código fuente, verá cómo recuperar todas las direcciones de correo electrónico para un ABRecordRef dado.

+1

"ABGetMe no es legalmente compatible App Store, ya que utiliza las API de indocumentados, que está proscrita por la cláusula 3.3.1 del Acuerdo de licencia del programa para desarrolladores de iPhone. Es técnicamente compatible con la tienda de aplicaciones, ya que pasará la validación de la tienda de aplicaciones. Además, no debería fallar incluso si las API no documentadas cambian en el futuro ". – AmineG

+0

Ahora puede deshabilitar API privadas en ABGetMe y recurrirá a un método algo menos efectivo que no utiliza ninguna API privada. – 0xced

Cuestiones relacionadas