Назад | Перейти на главную страницу

GMAIL SMTP with openssl : cursor just blinks after the <crlf>.<crlf> , не получает 250 OK в очереди на доставку</crlf></crlf>

Я пытаюсь отправить почту из командной строки с помощью openssl. Я могу подключиться к SMTP-серверу Gmail через порт 465, и аутентификация прошла успешно. ПОЧТА ОТ и rcpt тоже нормально работают. Затем, когда я ввожу данные, я получаю 354 с продолжением, что тоже очень хорошо. В данные я ввожу следующее:

FROM: <xxx@gmail.com>
To: <XXX@gmail.com> // I am sending and receiving the mail to my account itself for test purposes
Subject: test

hello!
.

Теперь возникает проблема, когда я ввожу. , курсор просто мигает, я не получаю сообщение 250 OK, ожидающее ответа о доставке.

Пожалуйста, помогите !!

Все это пробую на ubuntu 9.10.

ах ... но после прочтения этой темы мне потребовались часы, чтобы это выяснить !!

размещение моего решения здесь:

повсюду в Интернете вам говорят, что вы должны использовать переключатель -crlf для начальной команды подключения - что я и сделал.

Однако ... это верно только для Linux / unix! В Windows вы не должны использовать этот переключатель!

файл. должен быть в отдельной строке ... за которым следует другой возврат каретки ...

т.е.

Hello!
.

(это могло быть форматирование serverfault, которое все испортило ... но проверьте.)

в коде ... это должно быть <cr>. <cr> или использовать crlf вместо просто cr.

У меня была эта проблема (только с Gmail) и я увидел этот вопрос. В конце концов я понял, что создание CRLF и отправка его вместо '\ n' устранило проблему.

char eol[3];
eol[0] = '\r';
eol[1]= '\n';
eol[2] = '\0';
string crlf = string(eol);

string endit(crlf + '.' + crlf);
send(socket_id, endit.c_str(), endit.length(), 0) < 0);