Mail: Difference between revisions

From Network Security Wiki
Content added Content deleted
(Created page with "= Sendmail = sudo apt-get install sendmail sudo nano /etc/mail/sendmail.mc sudo bash -c 'cd /etc/mail/ && m4 sendmail.mc >sendmail.cf' sudo service sendmail restart...")
 
(→‎SSMTP: rem)
 
(18 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:Linux]]
= Sendmail =
__TOC__
<br />


= Sendmail =


Installation
sudo apt-get install sendmail
sudo apt-get install sendmail


Configuration for using SMTP server

sudo nano /etc/mail/sendmail.mc
sudo nano /etc/mail/sendmail.mc


At the end, add below below 2 line between existing 1st & 4th Line:
MAILER(`local')dnl
''MAILER_DEFINITIONS''
''define('SMART_HOST',`smtp.gmail.com')''
MAILER(`smtp')dnl

Now reconfigure sendmail to use above config:
sudo bash -c 'cd /etc/mail/ && m4 sendmail.mc >sendmail.cf'
sudo bash -c 'cd /etc/mail/ && m4 sendmail.mc >sendmail.cf'
sudo service sendmail restart
sudo service sendmail restart


== Troubleshooting ==

If you are unable to send emails, check below log file:
sudo cat /var/log/mail.err
sudo cat /var/log/mail.err

My unqualified host name (test-ubuntu) unknown; sleeping for retrytest-ubuntu
If you get this error:
My unqualified host name (test-ubuntu) unknown; sleeping for retrytest-ubuntu

Edit hosts file to add below entries
sudo nano /etc/hosts
sudo nano /etc/hosts
127.0.0.1 localhost test-ubuntu
127.0.0.1 ''localhost.localdomain'' test-ubuntu


== Authentication ==
Testing sendmail:


Make auth subdirectory in mail config directory:
cd /etc/mail
mkdir auth
chmod 700 auth

Create a file with your auth information to the smtp server
cd auth
touch client-info

In the file, put the following, matching up to your smtp server:
AuthInfo:mail.domain.com "U:root" "I:username" "P:password"

Generate the Authentication database, make both files readable only by root
makemap hash client-info < client-info
chmod 600 client-info
cd ..

Add the following lines to sendmail.mc. Make sure you update your smtp server
<pre>
MAILER_DEFINITIONS

FEATURE(`authinfo',`hash /etc/mail/auth/client-info.db')dnl
MAILER(`local')dnl
MAILER_DEFINITIONS
define(`SMART_HOST',`mail.domain.com')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
MAILER(`smtp')dnl
</pre>

Invoke creation sendmail.cf
sudo sendmailconfig

Test Mail:
sendmail -t myaddress@gmail.com -v -i < body.txt

== Testing ==

; Manual Testing using Telnet
Connect to the server
telnet 127.0.0.1 25
telnet 127.0.0.1 25


If you see similar to below lines, you are connected to the server:
220 test-ubuntu ESMTP Sendmail 8.15.2/8.15.2/Debian-3; Wed, 2 Aug 2017 13:45:29 +0530; (No UCE/UBE) logging access from: localhost(OK)-localhost [127.0.0.1]

Issue below commands/Inputs one by one to send a test mail:
HELO server
HELO server


Line 27: Line 86:


DATA
DATA
Subject:Test mail
hello amandeep.singh@citrix.com from amanjosan2008@gmail.com
This is the body
.
.


If you see this output, your mail is queued to be send:
Subject:Test mail
250 2.0.0 v7289CNJ007111 Message accepted for delivery


Exit the program:
quit
quit


; Testing using CLI
= Mutt =
Create a sample body file
nano body.txt
Paste below text into it:
Subject: test mail to Some Address!
From: Me <fromaddress@somemail.com>
To: Vasya<toaddress@somemail.com>
first line of my message

Send email using below command:
/usr/sbin/sendmail -t -f myaddress@gmail.com -v -i < body.txt

== PHP Mail ==

COnfigure PH to use Sendmail:
/etc/php5/apache2/php.ini:

Add at the end of this file:
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = "/usr/sbin/sendmail -t -f myaddress@gmail.com -i"

Restart Apache server:
sudo service apache2 restart

; PHP Script to send mail

Create a PHP file in the root Directory:
sudo nano /var/www/html/mail.php

Paste and save the below contents in it:
<pre>
<?php
$to = "amandeep.singh@test.com";
$subject = "Alert Mail";
$txt = "This is an Alert Mail";
$headers = "From: Alert@test.com" . "\r\n" .
"CC: testuser@test.com";

mail($to,$subject,$txt,$headers);
?>
</pre>

Your mail should be sent after you open below link in browser:
http://10.107.88.68/mail.php

= SendEmail =
Source: [http://caspian.dotconf.net/menu/Software/SendEmail/ caspian.dotconf.net]

Installation using apt:
sudo apt-get install sendemail

Manual Installation:
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
tar -zxvf /tmp/sendEmail-v1.56.tar.gz
cd sendEmail-v1.56/
sudo cp -a sendEmail /usr/local/bin/
chmod +x /usr/local/bin/sendEmail

Testing:
sendEmail

Sending Email with inline attachment:

nano body.txt
<pre>
<html>
<img src="logo.png" alt="logo" align="right" height="40" width="120"/>
<p>Hi,</p>
<p>This is a test Alert Mail.</p>
<p>Please find below the details about this Alert:<br /><br /></p>
<p>There are the details.</p>
</html>
</pre>

sendEmail -f codered@domain.com -t amandeep.singh@domain.com -s mail.domain.com -u "Codered Test Mail" -o message-file=/home/test/body.txt -o message-content-type=html -a ~/logo.png

=Misc =

== Figure out SMTP address ==
*Windows:
Open CMD.exe and type below commands:
nslookup
set type=MX
domain.name

*Linux:
dig domain.name MX





<br />
https://www.linux.com/blog/setup-mutt-gmail-centos-and-ubuntu
;References
http://nickdesaulniers.github.io/blog/2016/06/18/mutt-gmail-ubuntu/
<references/>
{{UC}}
<br />
<br />
<br />


= SSMTP =
https://askubuntu.com/questions/12917/how-to-send-mail-from-the-command-line


{{UC}}
{{DISQUS}}

Latest revision as of 19:00, 5 September 2017


Sendmail

Installation

sudo apt-get install sendmail

Configuration for using SMTP server

sudo nano /etc/mail/sendmail.mc

At the end, add below below 2 line between existing 1st & 4th Line:

MAILER(`local')dnl
MAILER_DEFINITIONS
define('SMART_HOST',`smtp.gmail.com')
MAILER(`smtp')dnl

Now reconfigure sendmail to use above config:

sudo bash -c 'cd /etc/mail/ && m4 sendmail.mc >sendmail.cf'
sudo service sendmail restart

Troubleshooting

If you are unable to send emails, check below log file:

sudo cat /var/log/mail.err

If you get this error:

My unqualified host name (test-ubuntu) unknown; sleeping for retrytest-ubuntu

Edit hosts file to add below entries

sudo nano /etc/hosts
127.0.0.1       localhost.localdomain test-ubuntu

Authentication

Make auth subdirectory in mail config directory:

cd /etc/mail
mkdir auth
chmod 700 auth

Create a file with your auth information to the smtp server

cd auth
touch client-info

In the file, put the following, matching up to your smtp server:

AuthInfo:mail.domain.com "U:root" "I:username" "P:password"

Generate the Authentication database, make both files readable only by root

makemap hash client-info < client-info
chmod 600 client-info
cd ..

Add the following lines to sendmail.mc. Make sure you update your smtp server

 MAILER_DEFINITIONS

 FEATURE(`authinfo',`hash /etc/mail/auth/client-info.db')dnl
 MAILER(`local')dnl
 MAILER_DEFINITIONS
 define(`SMART_HOST',`mail.domain.com')dnl
 define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
 MAILER(`smtp')dnl

Invoke creation sendmail.cf

sudo sendmailconfig

Test Mail:

sendmail -t myaddress@gmail.com -v -i < body.txt

Testing

Manual Testing using Telnet

Connect to the server

telnet 127.0.0.1 25

If you see similar to below lines, you are connected to the server:

220 test-ubuntu ESMTP Sendmail 8.15.2/8.15.2/Debian-3; Wed, 2 Aug 2017 13:45:29 +0530; (No UCE/UBE) logging access from: localhost(OK)-localhost [127.0.0.1]

Issue below commands/Inputs one by one to send a test mail:

HELO server
MAIL from:amanjosan2008@gmail.com
RCPT to: amandeep.singh@citrix.com
DATA
Subject:Test mail
hello amandeep.singh@citrix.com from amanjosan2008@gmail.com
This is the body
.

If you see this output, your mail is queued to be send:

250 2.0.0 v7289CNJ007111 Message accepted for delivery

Exit the program:

quit
Testing using CLI

Create a sample body file

nano body.txt

Paste below text into it:

Subject: test mail to Some Address!
From: Me <fromaddress@somemail.com>
To: Vasya<toaddress@somemail.com>
first line of my message

Send email using below command:

/usr/sbin/sendmail -t -f myaddress@gmail.com -v -i < body.txt

PHP Mail

COnfigure PH to use Sendmail:

/etc/php5/apache2/php.ini:

Add at the end of this file:

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = "/usr/sbin/sendmail -t -f myaddress@gmail.com -i"

Restart Apache server:

sudo service apache2 restart
PHP Script to send mail

Create a PHP file in the root Directory:

sudo nano /var/www/html/mail.php

Paste and save the below contents in it:

<?php
$to = "amandeep.singh@test.com";
$subject = "Alert Mail";
$txt = "This is an Alert Mail";
$headers = "From: Alert@test.com" . "\r\n" .
"CC: testuser@test.com";

mail($to,$subject,$txt,$headers);
?>

Your mail should be sent after you open below link in browser:

http://10.107.88.68/mail.php

SendEmail

Source: caspian.dotconf.net

Installation using apt:

sudo apt-get install sendemail

Manual Installation:

wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
tar -zxvf /tmp/sendEmail-v1.56.tar.gz
cd sendEmail-v1.56/
sudo cp -a sendEmail /usr/local/bin/
chmod +x /usr/local/bin/sendEmail

Testing:

sendEmail

Sending Email with inline attachment:

nano body.txt
<html>
<img src="logo.png" alt="logo" align="right" height="40" width="120"/>
<p>Hi,</p>
<p>This is a test Alert Mail.</p>
<p>Please find below the details about this Alert:<br /><br /></p>
<p>There are the details.</p>
</html>
sendEmail -f codered@domain.com -t amandeep.singh@domain.com -s mail.domain.com -u "Codered Test Mail" -o message-file=/home/test/body.txt -o message-content-type=html -a ~/logo.png

Misc

Figure out SMTP address

  • Windows:

Open CMD.exe and type below commands:

nslookup
set type=MX
domain.name
  • Linux:
dig domain.name MX 




References





{{#widget:DISQUS |id=networkm |uniqid=Mail |url=https://aman.awiki.org/wiki/Mail }}