Sponsored Content
Full Discussion: Unix mail command internals
Top Forums UNIX for Dummies Questions & Answers Unix mail command internals Post 302555741 by Corona688 on Thursday 15th of September 2011 12:39:58 PM
Old 09-15-2011
How email's mostly used now is way different from how it originally worked. SMTP used to be something email servers used to push email to other email servers, not something clients used.

Client A would dial directly into a shell on server B, and send a message, ultimately, through sendmail, which talks directly to the server's own mail-transport agent(MTA). If the destination was on the same server, the email would be directly transferred to the recipient's maildir folder without any networking required at all. If the destination was on server C, the MTA would eventually need to open an SMTP connection elsewhere to transfer it. (It needn't do so instantly. It needn't do so directly, either. It might send to server E, which would forward to server C, etc.) Client D would dial into server C and check their local maildir folder for files to see if any mail had arrived.

In short, commandline mail didn't use an SMTP server -- commandline mail was an SMTP server. That's mostly how it remains.

Once home computers started getting network access, users were able to access POP and SMTP and IMAP to get mail remotely instead of directly shelling into your mail server, but the design of UNIX MTA's still reflects having local mail for local users.

There's lots and lots of different MTAs now. With few exceptions, they all look the same on the surface -- they all give you a commandline sendmail program to send mail with, etc. Many of them still even use configuration files based on ones the venerable sendmail server used -- even though their capabilities can be radically different. I suspect that's why trying to configure an MTA has involved so much brain damage for me. Others have suggested that the damage was there already Smilie

If all you want to do is have sendmail forward to existing email addresses somewhere else, I wouldn't bother setting up a full-fledged MTA. ssmtp is a tiny sendmail replacement which doesn't do any MTA duties at all, its sendmail command directly connects to remote SMTP servers of your choosing, like an ordinary email client would.

Last edited by Corona688; 09-15-2011 at 01:55 PM..
This User Gave Thanks to Corona688 For This Post:
 

10 More Discussions You Might Find Interesting

1. New to Unix. Which books should I read?

UniX internals Material

Hi! I have 1.5 years experience in unix environment and shell scripting. Now, I started learning UNIX internals and network programming. Can you please help in finding the same material on the net Thanks Srinivas. (7 Replies)
Discussion started by: srinivaskathika
7 Replies

2. Filesystems, Disks and Memory

on unix internals

will anybody tell me how can i access all the fields of process table .if there is any structure and a system call please specify . (1 Reply)
Discussion started by: vish_shan
1 Replies

3. UNIX for Dummies Questions & Answers

UNIX mail command

hi, Im trying to send a e-mail to two people e.g X & Y . I run a shell script that uses the mail command to send an email to both these people . The email that i am sending contains two attatchments that i 'add' to a .mail file. mail <recipients> < filename.mail The problem that im... (1 Reply)
Discussion started by: nbvcxzdz
1 Replies

4. Programming

UNIX Internals, Help required...

I know UNIX user level commands, shell scripts. But i have no idea about kernel level programming and networking. I know the terms semaphore,IPC,socket programming. But i don't know in details what are these. I need to know the following. 1. Unix kernel level programming. 2. Unix Internals. 3.... (4 Replies)
Discussion started by: digdarshan
4 Replies

5. UNIX for Dummies Questions & Answers

Mail command in UNIX

1)My main script Calls a function IsDomain to check whether the domain is valid or not PROD>/appl/retek/mpscripts/cat mg3TRn01 #!/bin/ksh # # Standard Header Files # # . ${0%${0##*/}}UKMPFunctionLibrary.test # # START # ScriptStart # # Check that domain exists.Print &... (0 Replies)
Discussion started by: Shilpi
0 Replies

6. UNIX for Dummies Questions & Answers

Problem using unix mail command

Hello, When i am using mail command like this: mail -r prashant.aggarwal@xx.com -s "hiiii" prashant.aggarwal@xx.com < Content.txt i am abl eto dend a mail. Content.txt is a file from which contents are being reda But when i am trying to execute it thru a shell scipt like this it's giving ... (3 Replies)
Discussion started by: cprash.aggarwal
3 Replies

7. UNIX for Dummies Questions & Answers

Problems using Unix mail command (2)

I recently generated myself the following error when attempting to use the Unix mail command: The flags you gave make no sense since you're not sending mail. There is a recent thread about this issue here in unix.com (with a title very much like this thread's title), but it was closed... (2 Replies)
Discussion started by: Clovis_Sangrail
2 Replies

8. Shell Programming and Scripting

mail command in Unix

Hi All, Is it possible to email a file from another directory in Unix shell prompt? In other words, do we have to be in the directory where the file is located to mail the file? I was in the Mail directory and my file (filename) is in the Practice directory. I tried this and it didn't work:... (7 Replies)
Discussion started by: onlinelearner02
7 Replies

9. What is on Your Mind?

How to switch from SVR4/BSD internals to Linux internals?

Hello, Long-time Unix hacker here - I've worked on four variants of the kernel prior to the introduction of Linux. In my spare time, I've written Linux (Ubuntu) device drivers, kernel modules, cross-compiled, and built the kernel. I'd like to do Linux internals/device drivers as a day job,... (1 Reply)
Discussion started by: OriginalVersion
1 Replies

10. Shell Programming and Scripting

UNIX mail command

I am using HP-UX server. I tried to send the email with attachment, I used the below unix command to send with attachment but it doent work. uuencode pepsitoday.csv | mailx -s "csv file" ramkumar15@pepsi.com ---------- Post updated at 02:10 AM ---------- Previous update was at... (2 Replies)
Discussion started by: ramkumar15
2 Replies
etrn(1M)						  System Administration Commands						  etrn(1M)

NAME
etrn - start mail queue run SYNOPSIS
etrn [-b] [-v] server-host [client-hosts] DESCRIPTION
SMTP's ETRN command allows an SMTP client and server to interact, giving the server an opportunity to start the processing of its queues for messages to go to a given host. This is meant to be used in start-up conditions, as well as for mail nodes that have transient connec- tions to their service providers. The etrn utility initiates an SMTP session with the host server-host and sends one or more ETRN commands as follows: If no client-hosts are specified, etrn looks up every host name for which sendmail(1M) accepts email and, for each name, sends an ETRN command with that name as the argument. If any client-hosts are specified, etrn uses each of these as arguments for successive ETRN commands. OPTIONS
The following options are supported: -b System boot special case. Make sure localhost is accepting SMTP connections before initiating the SMTP session with server- host. This option is useful because it prevents race conditions between sendmail(1M) accepting connections and server-host attempting to deliver queued mail. This check is performed automatically if no client-hosts are specified. -v The normal mode of operation for etrn is to do all of its work silently. The -v option makes it verbose, which causes etrn to display its conversations with the remote SMTP server. ENVIRONMENT VARIABLES
No environment variables are used. However, at system start-up, svc:/network/smtp:sendmail reads /etc/default/sendmail. In this file, if the variable ETRN_HOSTS is set, svc:/network/smtp:sendmail parses this variable and invokes etrn appropriately. ETRN_HOSTS should be of the form: "s1:c1.1,c1.2 s2:c2.1 s3:c3.1,c3.2,c3.3" That is, white-space separated groups of server:client where client can be one or more comma-separated names. The :client part is optional. server is the name of the server to prod; a mail queue run is requested for each client name. This is comparable to running: /usr/lib/sendmail -qR client on the host server. EXAMPLES
Example 1: Using etrn Inserting the line: ETRN_HOSTS="s1.domain.com:clnt.domain.com s2.domain.com:clnt.domain.com" in /etc/default/sendmail results in svc:/network/smtp:sendmail invoking etrn such that ETRN commands are sent to both s1.domain.com and s2.domain.com, with both having clnt.domain.com as the ETRN argument. The line: ETRN_HOSTS="server.domain.com:client1.domain.com,client2.domain.com" results in two ETRN commands being sent to server.domain.com, one with the argument client1.domain.com, the other with the argument client2.domain.com. The line: ETRN_HOSTS="server1.domain.com server2.domain.com" results in set of a ETRN commands being sent to both server1.domain.com and server2.domain.com; each set contains one ETRN command for each host name for which sendmail(1M) accepts email, with that host name as the argument. FILES
/etc/mail/sendmail.cf sendmail configuration file /etc/default/sendmail Variables used by svc:/network/smtp:sendmail ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWsndmu | +-----------------------------+-----------------------------+ |Interface Stability |Stable | +-----------------------------+-----------------------------+ SEE ALSO
sendmail(1M), attributes(5) RFC 1985 NOTES
Not all SMTP servers support ETRN. SunOS 5.10 10 Aug 2004 etrn(1M)
All times are GMT -4. The time now is 03:42 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy