mailcomposer - send email from ios swift
Enviar correo electrónico con Swift (2)
¿Cómo enviarías un correo electrónico rápidamente en una aplicación? Por ejemplo, digamos que su usuario desea restablecer su contraseña en una aplicación de redes sociales con Parse (o no), pero no desea usar MessageUI porque quiere que sea automático. Investigué un poco y me di cuenta de que puede ser posible con la pistola de correo, pero no sé cómo usarla con rapidez y el código X. ¿Pueden ayudarme?
Parse admite Mailgun y Mandrill recién salidos de la caja. Ver su documentation
Tendrá que escribir una función de CloudCode y luego llamarla desde su aplicación.
PFCloud.callFunctionInBackground("hello", withParameters:[:]) {
(result: AnyObject!, error: NSError!) -> Void in
if error == nil {
// result is "Hello world!"
}
}
Ejemplo de fragmentos de código para enviar correo usando Mailgun.
var Mailgun = require(''mailgun'');
Mailgun.initialize(''myDomainName'', ''myAPIKey'');
Mailgun.sendEmail({
to: "[email protected]",
from: "[email protected]",
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");
}
});
Seguro que puede.
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(["[email protected]"])
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)
}
}
Fuente Andrew Bancroft