IOS Swift Mailgun不发送电子邮件

时间:2017-07-18 15:13:51

标签: ios swift mailgun

我正在尝试使用Swift使用MailGun api发送电子邮件。我使用mailgun创建并激活了免费帐户。已安装的吊舱。

cocoapods mailgun pod

如果我按下按钮,我收到消息“电子邮件已发送”但我没有收到此电子邮件,也没有显示在mailgun“日志”或“报告”中。

我还添加并验证了我的个人电子邮件给“授权收件人”

我在IOS模拟器上运行并且实际设备没有运气。

   @IBAction func dddd(_ sender: Any) {

    let mailgun = MailgunAPI(apiKey: "key-<my_key from mailgun>, clientDomain: "sandboxe437***********.mailgun.org")

    mailgun.sendEmail(to: "me@mail.com", from: "Test User <myemail@mail.com", subject: "This is a test15", bodyHTML: "<b>test<b>") { mailgunResult in

        if mailgunResult.success{
            print("Email was sent")
        }else{
            print("error")
        }

}

任何建议我错过了什么?

谢谢,

潜行

1 个答案:

答案 0 :(得分:2)

@Stalker,您的from参数没有结束>。我希望你见过它。 如果您已经使用 Alamofire 来处理网络请求,则无需额外的依赖mailgun pod

Swift 3.2

 import Alamofire

    let parameters = [
                   "from": "sender@whatyouwant.com",
                     "to": "anyRecipient@example.com",
                "subject": "Subject of the email",
                   "text": "This is the body of the email."]
    let header = [
            "Authorization": "Basic YOUR-BASE64ENCODED-KEY",
            "Content-Type" : "application/x-www-form-urlencoded"]

    let url = "https://api.mailgun.net/v3/YOUR-DOMAIN/messages"
    Alamofire.request(url,
                   method: .post,
               parameters: parameters,
                 encoding: URLEncoding.default,
                  headers: header)
            .responseJSON { response in
                print("Response: \(response)")
                }

在标题中,您必须将YOUR-BASE64ENCODED-KEY替换为base64编码的字符串“API:YOUR-SECRET-API-KEY”,其中在您的Mailgun信息中心找到YOUR-SECRET-API-KEY

在网址中,您还将YOUR-DOMAIN替换为您的Mailgun域。

有了这个,你应该通过Mailgun发送电子邮件。