전자 메일을 보내려면 MailCore2 프레임 워크를 사용하고 있습니다. 요구 사항은 전자 메일에 대한 UI가 없으므로 MFMailComposer를 사용하지 않습니다. 우리는 이메일 주소를 얻고 버튼 클릭만으로 정보를 이메일 주소로 보냅니다. 내 "을"이메일 조직, 그 작업 벌금 경우 이것은 내 코드는mailCore2를 사용하여 전자 메일 보내기 오류 코드 = 30
func sendEmailToCustomer(emailid:String?)
{
let session : MCOSMTPSession = MCOSMTPSession()
session.hostname = "mail.***.com"
session.port = 25
session.connectionType = MCOConnectionType.clear
let builder = MCOMessageBuilder()
builder.header.from = MCOAddress(displayName: " iPad App", mailbox:"[email protected]")
builder.header.to = [MCOAddress(displayName: "iPad App", mailbox:emailid)]
builder.header.subject = "Email Link \(NSUserDefaults.standardUserDefaults().valueForKey("branch_id")!)"
builder.htmlBody = "Thanks for choosing . Here is link you wanted to have in your inbox \n \((webView.request?.URL?.absoluteString)!))"
let data = builder.data()
let sendOperation : MCOSMTPSendOperation = session.sendOperationWithData(data)
NSUserDefaults .standardUserDefaults().setValue(emailid, forKey: "Customer_EmailId")
sendOperation.start({
(error : NSError?) -> Void in
if(error != nil){
//Keep sending the email till it succeeds. needs to know for security reasons.
// self.sendEmailToCustomer(emailid)
print("customer email failed.\(error?.code) \(error)")
self.showAlertMessage(MESSAGE_EMAIL_Not_SENT, title:"Email Not Sent", actions: [UIAlertAction(title: "OK", style: .Default) {action in
}], withSound: false)
Crittercism.leaveBreadcrumb("customer email failed")
}
else{
//Email sent successfully.
print("Email sent successfully \(emailid)")
self.showAlertMessage(MESSAGE_EMAIL_SENT, title:"Email Sent", actions: [UIAlertAction(title: "OK", style: .Default) {action in
}], withSound: false)
}
})
}
아래에 언급되어있다. 하지만 일부 외부에 전자 메일을 보내려고하면 계정 'Error Domain = MCOErrorDomain Code = 30'오류가 발생합니다. 다른 포트, 연결 유형을 변경해 보았습니다. 아무것도 작동하지 않습니다. 도와주세요
서버가 보내는 정확한 오류 메시지를 알아 내기 위해 connectionLogger를 사용할 수 있습니까? –
Connectionlogger : 550 5.0.0 외부 릴레이에 대해 거부 됨 : [email protected] – Nitya
연결 로거에 표시되는 오류 메시지입니다. – Nitya