Что вы пробовали?Это выглядит довольно просто.Что он делает, так это настраивает SMTP-соединение, как вы делаете это при отправке почты.В определенный момент в SMTP-соединении ваш сервер говорит что-то вроде этого:
Я хотел бы отправить письмо на ... @ .... com
Большинство серверов вернет ошибку, если этот адрес не существует.После этого обычное SMTP-соединение будет свободно отправлять реальное тело сообщения.Этот класс, однако, в этот момент закрывает соединение, поэтому почта не будет отправлена.
Однако перед отправкой цитируемого сообщения необходимо указать почту отправителя.Вот почему вам нужно это указать.Кроме того, вам также необходимо определить почтовый домен владельца, поскольку он необходим для полезной нагрузки EHLO
.
Как насчет того, чтобы сделать что-то подобное (я использую mongo_mapper
, так чтобыть другим в вашей ситуации):
class User
include MongoMapper::document
...
key mail, String, :required => true
...
validate :validate_mail
...
def validate_mail
if !EmailCheck.run(self.mail, "no-reply@yourdomain.com", self.mail.split('@')[1]).valid?
errors.add :mail, "is invalid."
end
end
end