Отправить команду EHLO через программу Swift - PullRequest
0 голосов
/ 14 июня 2019

Я хочу отправить команду ehlo, чтобы получить ответ от сервера smtp, без использования сторонней библиотеки.Я использую TCP-потоки для соединения с сокетом.Поэтому я хочу знать, например, как я могу отправить команду 'EHLO' на сервер и получить ответ.

class Connection: NSObject {
static let shared = Connection()

private var inputStream: InputStream!
private var outputStream: OutputStream!

private let maxReadLength = 4096

func setupServerCommunication() {
    var readStream: Unmanaged<CFReadStream>?
    var writeStream: Unmanaged<CFWriteStream>?

    let host = "domain_name" as CFString

    CFStreamCreatePairWithSocketToHost(kCFAllocatorDefault, host, 25, &readStream, &writeStream)

    inputStream = readStream!.takeRetainedValue()
    outputStream = writeStream!.takeRetainedValue()

    inputStream.schedule(in: .current, forMode: .commonModes)
    outputStream.schedule(in: .current, forMode: .commonModes)

    inputStream.open()
    inputStream.delegate = self
    outputStream.open()
}

func quitSession() {
    inputStream.close()
    outputStream.close()

    inputStream.remove(from: .current, forMode: .commonModes)
    outputStream.remove(from: .current, forMode: .commonModes)

    inputStream = nil
    outputStream = nil
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...