Todos estamos acostumbrados a utilizar un cliente de correo para enviar e-mails de una manera grafica y muy facil, Pero que pasa si necesitas enviar un e-mail y no tienes una interfaz grafica para hacerlo, esto es muy poco probable pero si lo necesitas aqui esta la manera de haerlo desde la terminal de linux

 

Lo primero que tienes que hacer es realizar la conexion encriptada (para evitar que puedan estar snnifeando la red y obtengan tus credenciales) con el servidor.

openssl s_client -starttls smtp -connect linuxenespanol.com:587 -crlf

Salida:

CONNECTED(00000005)
depth=0 C = MX, ST = GTO, L = Leon de los Aldama, O = Linux en Espanol Corp, CN = linuxenespanol.com
verify error:num=18:self signed certificate
verify return:1
depth=0 C = MX, ST = GTO, L = Leon de los Aldama, O = Linux en Espanol Corp, CN = linuxenespanol.com
verify return:1
---
Certificate chain
 0 s:/C=MX/ST=GTO/L=Leon de los Aldama/O=Linux en Espanol Corp/CN=linuxenespanol.com
   i:/C=MX/ST=GTO/L=Leon de los Aldama/O=Linux en Espanol Corp/CN=linuxenespanol.com
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIDvTCCAqWgAwIBAgIJAPM3tGq0F7AHMA0GCSqGSIb3DQEBDQUAMHUxCzAJBgNV
BAYTAk1YMQwwCgYDVQQIDANHVE8xGzAZBgNVBAcMEkxlb24gZGUgbG9zIEFsZGFt
YTEeMBwGA1UECgwVTGludXggZW4gRXNwYW5vbCBDb3JwMRswGQYDVQQDDBJsaW51
eGVuZXNwYW5vbC5jb20wHhcNMTcwOTI2MDUxMzU1WhcNMjcwOTI0MDUxMzU1WjB1
MQswCQYDVQQGEwJNWDEMMAoGA1UECAwDR1RPMRswGQYDVQQHDBJMZW9uIGRlIGxv
cyBBbGRhbWExHjAcBgNVBAoMFUxpbnV4IGVuIEVzcGFub2wgQ29ycDEbMBkGA1UE
AwwSbGludXhlbmVzcGFub2wuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAlnkOkFbhIYh5YlYBD7Y/Aq62Mc+YgQjZC25dZUo5hnDWtnKvRlyLt2Pp
jlunHjfanA0mFX2ajv1NOzIZkXyrxzu9+zAFMFk/JGsXFskHlm8IDubVt4Kfmokb
c4VC3BMuh9YjiazyNrvyV6yGUULcfIczvVOLpIeOYuW8fpdNjDpZ5kB2jb900HEa
wwPKAbFx4k1ldn7hvAuln/o+mRQmj9y1+WsJLZwmudP0xxT+twQ6dT4KgaPF+l4c
SZzt19Bfkwnmolnm4U355/unHcBCfzqehaN2QTLphSePB2eBSl01vUuF8DnBzYfX
PNBHixm1VD2E7y1KplY5Sob5CUwV+QIDAQABo1AwTjAdBgNVHQ4EFgQU6i1HMiaZ
kM8HKrkWjUEIWqr79bQwHwYDVR0jBBgwFoAU6i1HMiaZkM8HKrkWjUEIWqr79bQw
DAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQ0FAAOCAQEABqHUbl3djpHBRJLJQqop
On/9Q/VeICfUY9rChcmpNKhi3UX8pcmDexNv9D4xP7JY4t1X9XUtHuTWhQZrt72t
t+1UPqecsK9YbXW2pmBFyu5Upv2TKUp9bJ8sW6Zz1Zh7ARMON/u25S3gFW/LK4rn
v+NUBZklUtmFSoD9HAQs+GOSXn2m4ieFjsSNjvAUAqhXBchOnpCl/3OqQHt+Blfp
SkIZwhLqU2gTm51tKyba1sNV1x/AM86EJOxHVdHpugIdc56Ni0zDbU4Tx/xz4lc+
b7UlD4JZVe6GdIpYEF2cSB5xBPCds6IMD0FsB+pmxzFZFGv9e0MYVROLStILjx4m
Jw==
-----END CERTIFICATE-----
subject=/C=MX/ST=GTO/L=Leon de los Aldama/O=Linux en Espanol Corp/CN=linuxenespanol.com
issuer=/C=MX/ST=GTO/L=Leon de los Aldama/O=Linux en Espanol Corp/CN=linuxenespanol.com
---
Acceptable client certificate CA names
/C=MX/ST=GTO/L=Leon de los Aldama/O=Linux en Espanol Corp/CN=linuxenespanol.com
---
SSL handshake has read 2404 bytes and written 555 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-GCM-SHA384
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : DHE-RSA-AES256-GCM-SHA384
    Session-ID: FC10CBBEFC258B82C381D9CCB041546AA9CD4E7727BA3644B54F8BD6D48A68E2
    Session-ID-ctx: 
    Master-Key: D14D7512CCB21CFB965C50A93820CA71DBB159497DDDB1BB28F47A5E43276ADD88B7841B4ED9F61315C503C7E1630903
    TLS session ticket lifetime hint: 1 (seconds)
    TLS session ticket:
    0000 - 57 54 3c e2 cf b6 91 82-06 76 c4 3a e8 b7 77 4b   WT<......v.:..wK
    0010 - 32 f0 9f 91 0a 12 11 c0-9f e5 ee 83 5a 04 12 22   2...........Z.."
    0020 - 84 d3 b5 d9 58 7e 02 aa-65 63 cf 91 d4 2a 1e e1   ....X~..ec...*..
    0030 - d6 d3 9d f0 c1 44 63 02-14 9c 9b 86 3f ea f2 43   .....Dc.....?..C
    0040 - 08 f5 ae ef 6f 54 4a ce-d0 15 67 b1 f6 05 d5 0b   ....oTJ...g.....
    0050 - 4b b7 50 e6 a8 34 b2 c9-b8 4e 62 1c 5a 1c 44 64   K.P..4...Nb.Z.Dd
    0060 - 05 90 e5 9a e7 f2 91 f1-13 fd 29 e9 30 94 ca 05   ..........).0...
    0070 - 26 30 dc b5 ef 84 bc 1b-d2 e6 c0 6c e4 36 fd 13   &0.........l.6..
    0080 - cb 91 dc ea 7b 4c 41 95-2e 4e 24 b7 c0 c1 14 66   ....{LA..N$....f
    0090 - 9b 40 8b 39 66 2d 71 96-87 a3 ca a7 cd 83 ef 04   .@.9f-q.........

    Start Time: 1555467541
    Timeout   : 300 (sec)
    Verify return code: 18 (self signed certificate)
---
250 HELP

 

El siguiente paso el saludar al servidor de correo para que te muestre las opciones disponibles

ehlo linuxenespanol.com

 Salida:

250-mail.linuxenespanol.com Hello [38.99.125.22], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-AUTH LOGIN PLAIN
250-DELIVERBY
250 HELP

 

para el siguiente paso necesitas tener tu usuario/password en base64, esto lo puedes lograr muy facilmente

Usando la terminal de linux

python
import base64
authplain = base64.b64encode('\Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.\000password')
authplain

el resultado es algo como lo siguiente:
'AHVzdWFyaW9AbGludXhlbmVzcGFub2wuY29tAHBhc3N3b3Jk'

 

Ahora nos autenticaremos en el servidor

auth plain AHVzdWFyaW9AbGludXhlbmVzcGFub2wuY29tAHBhc3N3b3Jk

Salida:

235 2.0.0 OK Authenticated

Enseguida agregamos quien esta enviando el correo, quien lo recibe y el contenido del correo. al terminar de escribir el correo necesitamos agregar en una linea nueva un punto "." y dar enter

mail from: <Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.>
rcpt to: <Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.>
data

Salida:

mail from: <Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.>
250 2.1.0 <Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.>... Sender ok
rcpt to: <Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.>
250 2.1.5 <Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.>... Recipient ok
data
354 Enter mail, end with "." on a line by itself
test 
.
250 2.0.0 x3H2J1EP018644 Message accepted for delivery

 

si todo esta bien, se enviara el correo al recipiente indicado.

Cual es tu opinion?

Envianos feedback!