使用mailCore2发送电子邮件,给出错误代码= 30

问题描述:

我正在使用MailCore2框架发送电子邮件。我不使用MFMailComposer,因为要求 没有任何电子邮件用户界面。我们只是获取电子邮件ID和点击按钮发送一些信息 到电子邮件地址。 这是下面提到使用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) 

      } 
     }) 
    } 

我的代码,当我“到”电子邮件是在组织,其工作的罚款。但如果我尝试发送电子邮件到一些外部 帐户,然后获取错误'错误域= MCOErrorDomain代码= 30' 我试着改变不同的端口,连接类型。没有任何工作。请帮助

+0

您可以使用connectionLogger来找出服务器发送的确切错误消息吗? –

+0

Connectionlogger:550 5.0.0 550拒绝外部中继:[email protected] – Nitya

+0

这是错误消息,我正在连接记录器 – Nitya

您的问题与mailcore2无关,而与您使用的邮件服务器无关。您收到'550拒绝外部中继'的错误消息意味着您连接的邮件服务器未配置为允许您发送到其他域。 如果您认为配置错误,请与该smtp服务器的postmaster交谈。 (postmaster @,插入服务器的域而不是)