用Swift发送邮件

你将如何在应用程序中快速发送电子邮件。 比如说,例如你的用户想要用Parse(或不)来重置社交媒体应用程序中的密码,但是你不想使用MessageUI,因为你希望它是自动的。 我已经做了一些调查,发现它可以用mailgun,但我不知道如何使用它与迅速和XCode 6.你能帮我吗?

你当然可以。

import Foundation import UIKit import MessageUI class ViewController: ViewController,MFMailComposeViewControllerDelegate { @IBAction func sendEmailButtonTapped(sender: AnyObject) { let mailComposeViewController = configuredMailComposeViewController() if MFMailComposeViewController.canSendMail() { self.presentViewController(mailComposeViewController, animated: true, completion: nil) } else { self.showSendMailErrorAlert() } } func configuredMailComposeViewController() -> MFMailComposeViewController { let mailComposerVC = MFMailComposeViewController() mailComposerVC.mailComposeDelegate = self // Extremely important to set the --mailComposeDelegate-- property, NOT the --delegate-- property mailComposerVC.setToRecipients(["nurdin@gmail.com"]) mailComposerVC.setSubject("Sending you an in-app e-mail...") mailComposerVC.setMessageBody("Sending e-mail in-app is not so bad!", isHTML: false) return mailComposerVC } func showSendMailErrorAlert() { let sendMailErrorAlert = UIAlertView(title: "Could Not Send Email", message: "Your device could not send e-mail. Please check e-mail configuration and try again.", delegate: self, cancelButtonTitle: "OK") sendMailErrorAlert.show() } // MARK: MFMailComposeViewControllerDelegate func mailComposeController(controller: MFMailComposeViewController!, didFinishWithResult result: MFMailComposeResult, error: NSError!) { controller.dismissViewControllerAnimated(true, completion: nil) } } 

来源Andrew Bancroft

Parse同时支持Mailgun和Mandrill。 看他们的文件

您将需要编写一个CloudCode函数,然后从您的应用程序调用它。

 PFCloud.callFunctionInBackground("hello", withParameters:[:]) { (result: AnyObject!, error: NSError!) -> Void in if error == nil { // result is "Hello world!" } } 

示例代码片段使用Mailgun发送邮件。

 var Mailgun = require('mailgun'); Mailgun.initialize('myDomainName', 'myAPIKey'); Mailgun.sendEmail({ to: "email@example.com", from: "Mailgun@CloudCode.com", subject: "Hello from Cloud Code!", text: "Using Parse and Mailgun is great!" }, { success: function(httpResponse) { console.log(httpResponse); response.success("Email sent!"); }, error: function(httpResponse) { console.error(httpResponse); response.error("Uh oh, something went wrong"); } });