How to set up outgoing mail if you don't own a domain name?

The title pretty much describes the problem. I try to send mail from my sytem using mailx (or sendmail, etc). What I get in response is

<--xx--@charter.net>: host ib1.charter.net[216.33.127.20] said: 553 5.1.0
00031     bhBe1n07D2lh9Gv04hBfFR t61.site does not exist E2110 (in reply to MAIL FROM
00032     command)
 

The problem seems obvious (but maybe that’s my ignorance?): I don’t own a domain, so my internal network name is just the default machine.site. How can I work around this?

My goal is to have programs (which are compute-intensive and may run from hours to days) send email messages to their users when they complete. (They’ll be running on clusters/cloud sites such as Amazon EC2, so users can’t be expected to continually monitor them.) Of course I want to test this on my own system before letting it out in the world, but can’t unless I can figure out the mail setup. Everything I’ve found on-line seems to assume that either I’m a sysadmin setting up a mail server (and so have a domain), or that I know a heck of a lot more about networks & mail than I actually do.

(Note this has nothing to do with my actual email. I use Opera mail, and it works acceptably.)

Thanks,
James

On 03/10/2014 02:46 PM, jamesqf wrote:
>
> The title pretty much describes the problem. I try to send mail from my
> sytem using mailx (or sendmail, etc). What I get in response is
>
> Code:
> --------------------
> <--xx--@charter.net>: host ib1.charter.net[216.33.127.20] said: 553 5.1.0
> 00031 bhBe1n07D2lh9Gv04hBfFR t61.site does not exist E2110 (in reply to MAIL FROM
> 00032 command)
>
> --------------------
>
>
> The problem seems obvious (but maybe that’s my ignorance?): I don’t own
> a domain, so my internal network name is just the default machine.site.
> How can I work around this?
>
> My goal is to have programs (which are compute-intensive and may run
> from hours to days) send email messages to their users when they
> complete. (They’ll be running on clusters/cloud sites such as Amazon
> EC2, so users can’t be expected to continually monitor them.) Of course
> I want to test this on my own system before letting it out in the world,
> but can’t unless I can figure out the mail setup. Everything I’ve found
> on-line seems to assume that either I’m a sysadmin setting up a mail
> server (and so have a domain), or that I know a heck of a lot more about
> networks & mail than I actually do.
>
> (Note this has nothing to do with my actual email. I use Opera mail,
> and it works acceptably.)

You can use mailx to send mail usint any smtp server. The critical part is to
create an account stanza in .mailrc and use the -A option to select that
account. See “man mailx” for details.

Guess I’m just dumb: I read through the mailx docs plus whatever I could find by searching on “linux .mailrc”, and am not much further forwards. I found some instructions that seem to be about faking the mail sender - say you have a gmail account, and want to send mail that appears to come from that account - but that’s not really what I need to do. That is, the mail should not come from me - my personal email address - but from the userid/machine doing the computation. It should be quite like the automated mailers that send out mail with “Do not reply to this address” in the message

I did make a little progress. If I put a line “set smtp=smtp.charter.net”, I at least seem to start talking to the mail server, but get a dialog like this (where --xx-- is my mail userid).

t61/home/me> mailx -v --xx--@charter.net < test.txt 
Resolving host smtp.charter.net . . . done.
Connecting to 209.225.8.224:smtp . . . connected.
220 imp10 smtp.charter.net ESMTP server ready 20140311 011340
>>> HELO t61
250 imp10 hello [71.93.78.113], pleased to meet you
>>> MAIL FROM:<me@t61>
553 5.1.0 t61 does not exist E2110
smtp-server: 553 5.1.0 t61 does not exist E2110
"/home/me/dead.letter" 13/291
. . . message not sent.

PS: If what I’m trying to do here IS really stupid for some reason, don’t hesitate to tell me so. It’s the goal - getting the compute job to send the user a notice of completion - that matters, not the particular method, so if there’s a better way, I’d be very glad to learn of it.

That’s correct. MAIL FROM must be valid resolvable address. You need to set your real address using “set from=…”, I presume you can do it in ~/.mailrc.

James,
A FYI -
Your mail is being rejected by the destination mail server because for years now, providing some kind of valid identity has become in required in practice to combat spam. AFAIK no specification exists that actually codifies rejecting messages without a verifiable identify so for instance if you have a private mailserver in your network you can set your rules and send mail without a valid email return address.

But,
when sending to a public mailserver, any of many anti-spam measures may be implemented. So, simply providing a resolvable return address may be required but may still not be sufficient. You may also be required to send through a registered SMTP Smarthost and not directly from your machine. The Smarthost itself may be required to be registered as authorized to send messages with the email domain name you are choosing.

Note also that there is no requirement that an email domain has anything to do with a machine’s Hostname or the network security of the machine, it stands alone… So you can specify anything you feel should work.

HTH,
TSU

Hummm… So if I used the user’s email address as the sending address as well, would that work? (Seems to for me…) Or is there some better way to handle this notification thing?

Yes. As long as your message’s attributes and the SMTP Server satisfy whatever the remote mailserver’s requirements (which is all a big guess) then your message will be delivered.

TSU