Email with out SMTP Settings is it possible

Hi all can we send mails with out using SMTP settings. i want to send mails with out smtp is it possible?

Thanks in advance

No it is not possible.

Yes it is:

Doesn’t SendMail use SMTP?

Doesn't SendMail use SMTP?

Technically, all outgoing mail is handled by SMTP. That's just the mail sending protocol. The issue here is whether that SMTP server is localhost (sendmail or another drop-in replacement for that service, running on the same machine as Rails) or remote (Gmail or somebody's Exchange server or just sendmail configured as a relay on another machine). Rails lets you configure this in any number of different ways. Read the Rails Guide for ActionMailer for more juicy details.


So I was right that we have to use SMTP to send email. Whether it is from localhost or gmail. Am I right?

So I was right that we have to use SMTP to send email. Whether it is from localhost or gmail. Am I right?

Yes, that acronym stands for Simple Mail Transport Protocol. It's one of the oldest protocols on the Internet -- precedes the Web by tens of years, IIRC. It's how all outgoing mail is sent from one server to another. You may pick up your mail through different protocols (POP3, IMAP) but you always send by SMTP.

Rails documentation and API separate sendmail from smtp -- there's a separate :sendmail_settings and :smtp_settings, but you need to understand that they are not mutually exclusive. All outgoing mail is sent through SMTP (the protocol) and the settings in :smtp_settings may specify that sendmail is to be used as the outgoing mail server, in which case you can fine-tune that interface with the :sendmail_settings parameters.


SMTP = Simple Mail Transfer Protocol. That's the language you use to
talk to another computer to send mail. Usually, you talk to a server
whose job is to take mail from you and send it on to its destination.
If it can't contact the destination machine the first time it tries,
it will wait a while and try again. It won't give up until a few
iterations of this.

You can bypass that and have your program directly contact the
destination machine. In that case, you have to parse the address to
get the domain name, look up the MX record in the DNS for that domain
(not the normal A record), then establish contact with the remote
machine, etc. Using an SMTP relay server is much simpler.

That’s great. I didn’t know about how SMTP works. Thanks for your demonstration :slight_smile: