2017-11-17 16 views
0

아래 메일 코드를 사용하여 이메일을 발송하는 코드가 있습니다. 응답 코드는 200이되어 이메일이 성공적으로 전송되었음을 의미하지만, 이메일은받지 못합니다. Mailgun 계정은 그렇지 않습니다. 아무 것도 보여줘.Swift - Mailgun - 이메일 수신 안함

FUNC 이메일() { 하자 요청을 : 나는 그것을 아래 나를 위해 코드를 작동하고, 데이터 변수에 약간의 비틀기를 만들어서 작업을 얻었다

func email() { 
    let session = URLSession.shared 
    let request = NSMutableURLRequest(url: NSURL(string: "https://api.mailgun.net/v3/sandboxBLAHBLAH.mailgun.org")! as URL) 

    request.httpMethod = "POST" 
    let credentials = "api:key-BLAHBLAH" 
    request.setValue("Basic \(credentials.toBase64())", forHTTPHeaderField: "Authorization") 

    let data = "from:Test<([email protected])>&to:[[email protected],([email protected])]&subject:Hello&text:Testing_email" 

    request.httpBody = data.data(using: String.Encoding.ascii) 

    let task = session.dataTask(with: request as URLRequest, completionHandler: {(data, response, error) in 
     if let error = error { 
      print(error) 
     } 
     if let response = response { 
      print("url = \(response.url!)") 
      print("response = \(response)") 
      let httpResponse = response as! HTTPURLResponse 
      print("response code = \(httpResponse.statusCode)") 
     } 
    }) 
    task.resume() 
} 

extension String { 

    func fromBase64() -> String? { 
     guard let data = Data(base64Encoded: self) else { 
      return nil 
     } 

     return String(data: data, encoding: .utf8) 
    } 

    func toBase64() -> String { 
     return Data(self.utf8).base64EncodedString() 
    } 
} 

답변

0

: 아래

내 코드입니다 NSMutableURLRequest = NSMutableURLRequest (URL : NSURL (문자열 : " https://api.mailgun.net/v3/sandbox {너의 바꿀} .mailgun.org/메시지") URL로!) request.httpMethod = "POST"

 // Basic Authentication 
    let username = "api" 
    let password = "key-{REPLACE WITH YOURS}" 
    let loginString = NSString(format: "%@:%@", username, password) 
    let loginData: NSData = loginString.data(using: String.Encoding.utf8.rawValue)! as NSData 
    let base64LoginString = loginData.base64EncodedString(options: []) 
    request.setValue("Basic \(base64LoginString)", forHTTPHeaderField: "Authorization") 

    let bodyStr = "from=Mailgun Sandbox <[email protected]{REPLACE WITH YOURS}.mailgun.org>&to=Receiver name <[email protected]>&subject=Test&text=thank you!" 

    // appending the data 
    request.httpBody = bodyStr.data(using: String.Encoding.utf8); 

    let task = URLSession.shared.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in 
    // ... do other stuff here 
    }) 

    task.resume() 
}