Зачем мне имя пользователя и пароль для отправки электронной почты на SMTP-сервер Gmail - PullRequest
0 голосов
/ 06 сентября 2011

Я хочу создать простой SMTP-прокси с использованием node.js, который получает почту и затем отправляет ее в пользовательскую учетную запись Gmail. Но когда я подключаюсь к серверу SMTP gmail, мне нужна аутентификация с именем пользователя и паролем. НО: Как отправитель должен знать имя пользователя и пароль получателя?

Почему мой SMTP-клиент не может отправить электронное письмо на адрес Gmail без такой аутентификации?

Я что-то пропустил?

Мой код:

var tls = require("tls");
var fs = require("fs");

var o = {
    cert:fs.readFileSync("/certificate.pem"),
    key:fs.readFileSync("/key.pem")
};

var c = tls.connect(465,"smtp.gmail.com",o,function(){
    c.once("data",function(d){
        c.write("HELO cloudstudios.ch\r\n");
        c.once("data",function(d){
            c.write("MAIL FROM:<test@cloudstudios.ch>\r\n");

        });
    });
    c.on("data",function(d){
        console.log(d+"");
    });
});

выход: * +1010 *

220 mx.google.com ESMTP u14sm14212124eeh.1

250 mx.google.com at your service

530-5.5.1 Authentication Required. Learn more at
530 5.5.1 http://mail.google.com/support/bin/answer.py?answer=14257 u14sm14212124eeh.1

Ответы [ 3 ]

2 голосов
/ 06 сентября 2011

Вы используете не тот сервер.smtp.gmail.com предназначен для ретрансляции исходящей электронной почты от пользователей Gmail и требует от них аутентификации.Входящая электронная почта для пользователей Gmail должна проходить через серверы, указанные в записи MX для gmail.com, которые не требуют аутентификации - в настоящее время такой сервер имеет самый высокий приоритет gmail-smtp-in.l.google.com, номожет измениться в любое время.

1 голос
/ 06 сентября 2011

SPAM.Если бы кто-то мог отправлять сообщения через почтовые серверы Google без аутентификации тем или иным способом, он был бы просто (массовым) спам-релеем.

Когда вы проходите аутентификацию на SMTP-сервере, вам не нужны данные учетной записи получатель , но некоторые данные о себе для авторизации отправки / ретрансляции.

1 голос
/ 06 сентября 2011

Вы недоразумение. Что вам нужно, так это некоторый действительный набор учетных данных для SMTP-сервера, который сообщает серверу, что вы на самом деле авторизованы для его использования. После проверки подлинности и авторизации вы можете использовать SMTP-сервер для отправки электронной почты кому-либо.

Раньше SMTP-серверы были полностью бесплатны для всех, но из-за повсеместного злоупотребления отправкой нежелательных писем многие крупные SMTP-серверы начали принимать только зарегистрированных пользователей.

Для GMail вы должны указать свои данные учетной записи. Или вы можете просто найти другой SMTP-сервер, который не требует аутентификации. Ваш веб-хостинг обычно предоставляет вам один.

...