Я использую Swift для отправки электронных писем с использованием MailCore2, но столкнулся с небольшой проблемой.Я создал приложение для регистрации, в котором, когда пользователь нажимает кнопку отправки, все его данные отправляются на адрес электронной почты с использованием MailCore2.Большая часть электронных писем отправляется, но в промежутках между ними некоторые электронные письма не отправляются.Данные хранятся в базе данных, но электронное письмо не отправляется.Иногда электронное письмо отправляется, а в другое время электронное письмо не отправляется.
Я попытался обновить модуль MailCore2 в моем подфайле.Я пытался найти другие почтовые клиенты, но не мог найти какую-либо работу.Пожалуйста, поделитесь другими почтовыми клиентами, которые могут работать со Swift.Код, которым я поделился, используется с Mailcore2.Иногда электронное письмо отправляется, а в другое время оно не отправляется.
@IBAction func submitButton(_ sender: Any) {
\\ Please ask if you want the database code also. I've omitted it from this function so as to avoid unnecessary confusion.
let smtpSession = MCOSMTPSession()
smtpSession.hostname = "smtp.gmail.com"
smtpSession.username = "xxx@gmail.com"
smtpSession.password = "xxxxxxxx"
smtpSession.port = 465
smtpSession.authType = MCOAuthType.saslPlain
smtpSession.connectionType = MCOConnectionType.TLS
smtpSession.connectionLogger = {(connectionID, type, data) in
if data != nil {
if let string = NSString(data: data!, encoding: String.Encoding.utf8.rawValue){
NSLog("Connectionlogger: \(string)")
}
}
}
let builder = MCOMessageBuilder()
builder.header.to = [MCOAddress(displayName: "Director", mailbox: "xxxxxxx@gmail.com")]
builder.header.bcc = [MCOAddress(displayName: "xxxxxxxx", mailbox: "xxxxxx@gmail.com")]
builder.header.from = MCOAddress(displayName: "xxxxxx", mailbox: "xxxxxx@gmail.com")
builder.header.subject = "New Inquiry"
builder.textBody = "Hi xxxx, \nNew Inquiry at \(today!). Here are his/her details. This info has reached your career counsellor too. Have a great day! \n\nName: \(name.text!) \nEmail Address: \(email.text!) \nPhone Number: \(phoneNumber.text!) \nHome Address: \(homeAddress.text!) \nCall: \(callStatus) \nWhatsapp: \(whatsappStatus) \nEmail: \(emailStatus) \nSMS: \(smsStatus) \nInquiry Number: \(self.inquiryNumber.text!) \nEducational Qualification: \(educationalqualification.text!) \n\The xxxxxxxxx App"
let rfc822Data = builder.data()
let sendOperation = smtpSession.sendOperation(with: rfc822Data)
sendOperation?.start { (error) -> Void in
if (error != nil) {
NSLog("Error sending email: \(error)")
} else {
NSLog("Successfully sent email!")
}
}
}
Я ожидаю, что электронное письмо будет отправлено при каждом нажатии кнопки отправки.