2011-11-25 4 views
0

Existe-t-il un cadre qui me permet d'envoyer des e-mails sans passer par une interface graphique?Envoyer un e-mail sans interface graphique

+1

Vous devez fournir plus d'informations sur le problème que vous rencontrez. –

+0

son très clair je veux envoyer un e-mail sans montrer ui ... je sais que l'utilisation du cadre apple mfmessage et le faire sera rejeté –

+0

Vous trouverez un exemple de code fantastique sur la réponse acceptée ici pour envoyer un email de fond: http: //stackoverflow.com/questions/6284599/mfmailcomposeviewcontroller-question-locking-the-fields – Luke

Répondre

1

Ajouter this cadre à votre projet, puis utiliser ma classe Swift:

class EmailSender : SKPSMTPMessageDelegate { 

    private init() {} 

    static let sharedInstance = EmailSender(); 

    func sendEmail(email : String, subject : String, message : String) { 
     let EMAIL_FROM = "[email protected]"; 
     let EMAIL_PASS = "TestPassword"; 
     let SMTP_SERVER = "smtp.gmail.com"; 

     let EMAIL_TO = email; 

     let emailMessage = SKPSMTPMessage(); 
     emailMessage.delegate = self; 
     emailMessage.fromEmail = EMAIL_FROM; 
     emailMessage.toEmail = EMAIL_TO; 
     emailMessage.relayHost = SMTP_SERVER; 
     emailMessage.requiresAuth = true; 
     emailMessage.login = EMAIL_FROM; 
     emailMessage.pass = EMAIL_PASS; 
     emailMessage.subject = subject; 

     emailMessage.wantsSecure = true; 

     let plainMsg = [ 
      kSKPSMTPPartContentTypeKey : "text/plain", 
      kSKPSMTPPartMessageKey : message, 
      kSKPSMTPPartContentTransferEncodingKey : "8bit" 
     ]; 

     emailMessage.parts = [plainMsg]; 
     emailMessage.send(); 
    } 

    //MARK SKPSMTPMessageDelegate 

    @objc func messageSent(_ message: SKPSMTPMessage!) { 

    } 

    @objc func messageFailed(_ message: SKPSMTPMessage!, error: Error!) { 

    } 

} 
1

Vous devez extraire le framework SKPSMTPMessage. Cela vous permet d'envoyer des emails en arrière-plan. http://code.google.com/p/skpsmtpmessage/ Il n'est pas possible de le faire pour le moment, sauf si vous codez MFMailComposeViewController, ce qui entraînerait probablement le rejet de votre application du magasin (iOS5.0)

1

Si vous n'avez pas besoin d'envoyer l'e-mail à partir de l'iPhone app, vous pouvez décharger l'action sur un serveur et demander au serveur de l'envoyer au nom des utilisateurs. Le seul problème avec ceci est que vous pouvez avoir des problèmes de spam selon le service que vous utilisez (Mail Chimp etc ...).