2010-07-16 4 views
0

Ok,mailto iPhone Question

Le protocal régulièrement utilisé pour envoyer des courriels à partir d'un formulaire sur iPhone (ce que je sais) est de l'envoyer via l'application Mail. Ce code ici:

-(IBAction)sendEmail { 

    NSString *url = [NSString stringWithFormat: @"mailto:%@?body=%@", toEmail.text, content.text]; 
    [[UIApplication sharedApplication] openURL: [NSURL URLWithString: url]]; 

    //status.text = @"Sending..."; 
} 

Maintenant, je veux que ce soit une forme où il envoie juste l'email. Je ne veux pas qu'il passe par Mail ou quoi que ce soit, et je veux qu'il envoie à partir d'une adresse prédéfinie telle que [email protected] par exemple.

Comment est-ce que je ferais ceci?

Merci d'avance.

Alex

+0

Utiliser SMTP - Voir [Bibliothèque Open Source Cocoa/Cocoa-Touch POP3/SMTP?] (Http://stackoverflow.com/questions/740939/open-source-cocoa-cocoa-touch-pop3-smtp-library) – kennytm

Répondre

1

Dans votre cas, je vous recommande d'utiliser un MFMailComposeViewController il est très facile à intégrer. Je ne suis pas sûr s'il est possible d'écrire des courriels à partir d'une adresse prédéfinie (je suppose que l'envoi d'un courriel de cette manière utilise le compte de messagerie par défaut du périphérique des utilisateurs).

Pour plus de flexibilité, je suppose que vous devez aller avec SMTP.

ce que je fais dans mon projet est:

-(void)displayComposerSheet{ 
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; 
picker.mailComposeDelegate = self; 
[picker setSubject:NSLocalizedString(@"MailSubject", @"")]; 
NSString *emailBody = NSLocalizedString(@"MailBody", @""); 
[picker setMessageBody:emailBody isHTML:YES]; 
[self presentModalViewController:picker animated:YES]; 
[picker release]; 

}

il y a aussi quelques délégués-méthodes que vous pouvez manipuler. tout ce qui concerne MFMailComposeViewController vous trouverez ici MFMailComposeViewController Class Reference

0

Le MFMailCompose semble envoyer du courrier à partir du compte par défaut de votre appareil. J'utilise ce morceau de code dans mon fichier d'implémentation pour envoyer un courrier électronique de retour à une adresse prédéfinie que je veux qu'ils envoient.

Il est défini sur un bouton qui présente la vue lorsqu'il est cliqué.

-(IBAction) Feedback:(id)sender { 
     NSArray *toRecipients = [NSArray arrayWithObject:@"xxxxxxxx"]; 
     MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; 
     picker.mailComposeDelegate = self; 
     picker.navigationBar.tintColor = [UIColor colorWithRed:.0 green:.1706 blue:.3804 alpha:1]; 
     [picker setToRecipients:(NSArray *)toRecipients]; 
     [picker setSubject:@"Feedback"]; 

     [self presentModalViewController:picker animated:YES]; 
     [picker release]; 


} 

J'ai placé les x où j'aurais l'adresse électronique. Ce code affiche également la barre de navigation dans laquelle mon formulaire de courrier s'affiche.

Cela nécessite les éléments MessageUI et MFMailComposerDelegate.

Vous pouvez inclure plusieurs adresses e-mail à envoyer aussi si vous le souhaitez car il les construit dans un tableau.