命令方式:
由于gmail使用ssl、tls等,所以连接时要使用tls或者ssl。这里使用openssl而没有用telnet。
直接连接smtp的默认端口587
连接后使用SMTP命令进行操作邮箱
这里用到的有:
EHLO
AUTH LOGIN
MAIL FROM:<>
RCPT TO:<>
DATA
.
quit
[root@localhost Desktop]# openssl s_client -starttls smtp -connect smtp.gmail.com:587 -crlf -ign_eof
CONNECTED(00000003)
depth=3 C = US, O = Equifax, OU = Equifax Secure Certificate Authority
verify return:1
depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA
verify return:1
depth=1 C = US, O = Google Inc, CN = Google Internet Authority G2
verify return:1
depth=0 C = US, ST = California, L = Mountain View, O = Google Inc, CN = smtp.gmail.com
verify return:1
---
Certificate chain
0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=smtp.gmail.com
i:/C=US/O=Google Inc/CN=Google Internet Authority G2
1 s:/C=US/O=Google Inc/CN=Google Internet Authority G2
i:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
2 s:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
i:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIEdjCCA16gAwIBAgIIOuQOXm7sFPMwDQYJKoZIhvcNAQEFBQAwSTELMAkGA1UE
BhMCVVMxEzARBgNVBAoTCkdvb2dsZSBJbmMxJTAjBgNVBAMTHEdvb2dsZSBJbnRl
cm5ldCBBdXRob3JpdHkgRzIwHhcNMTMwOTEwMDc1NDQ3WhcNMTQwOTEwMDc1NDQ3
WjBoMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwN
TW91bnRhaW4gVmlldzETMBEGA1UECgwKR29vZ2xlIEluYzEXMBUGA1UEAwwOc210
cC5nbWFpbC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpMKDa
E9bW18yuVMulny5K5YLwf7ebEpINUVPZXvp7cO6vNjl+MCHjhbB2Rkg7QVJE8eNS
V0Hpq3vOuz+RQ2rPKfaeM3MFBZJ+tKscC39XmlVtmyBW5AVWy5dlO7718MQCN/L5
kpYSY6RinFrf5pIlf5XSGRCo3WYndguPP1A+X4gsDKjMaWhCP5KfczLHGTY+4T+d
31lDSah8CbFeMvKav0SFnyRYM36YAvAk2HH1/64Tolbx9tMAW6e6q8dU1U6W5u6+
Bt7WjW1iYwwfML+ZorKR9p+V070nDDN42ZE8HVZw+hOl9eMl48L/eX0eKbSGZBC2
1IK16eISmcFKML1bAgMBAAGjggFBMIIBPTAdBgNVHSUEFjAUBggrBgEFBQcDAQYI
KwYBBQUHAwIwGQYDVR0RBBIwEIIOc210cC5nbWFpbC5jb20waAYIKwYBBQUHAQEE
XDBaMCsGCCsGAQUFBzAChh9odHRwOi8vcGtpLmdvb2dsZS5jb20vR0lBRzIuY3J0
MCsGCCsGAQUFBzABhh9odHRwOi8vY2xpZW50czEuZ29vZ2xlLmNvbS9vY3NwMB0G
A1UdDgQWBBQEQ01ljbiIzNcZdvg6hhkpxvAmujAMBgNVHRMBAf8EAjAAMB8GA1Ud
IwQYMBaAFErdBhYbvPZotXb1gba7Yhq6WoEvMBcGA1UdIAQQMA4wDAYKKwYBBAHW
eQIFATAwBgNVHR8EKTAnMCWgI6Ahhh9odHRwOi8vcGtpLmdvb2dsZS5jb20vR0lB
RzIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQAA3n1AtYa8ES0KDhRGEsXsWQEQp3m8
X3gXB6Rfg1mDRFqap67XYZTgYtGdeUOkbmXvfUYbljyTeSIdTN6iD/tzzaiJUzPl
SwCT/ylI2kSo/0Km34rA5/D84Ja/1SSdCzxx4HFU0FlOERNg7RxSsW6F+f/QmTmZ
J/3lYLI71meuut7O7G+BcFlXVphs5XSy65LkziTXikR+MRERjCKhv3AwP0oGB2+q
APMUqxtH6K6hmFE5ELtYjS4rKLbH08s8gy65y/EiaBaWKBlKG6s+r22uyxu2xmgo
LFf94N1gVJXuaZXlCgVwThCtbekh8wxjHtcVw2HCZfzQemEr7oshVOX2
-----END CERTIFICATE-----
subject=/C=US/ST=California/L=Mountain View/O=Google Inc/CN=smtp.gmail.com
issuer=/C=US/O=Google Inc/CN=Google Internet Authority G2
---
No client certificate CA names sent
---
SSL handshake has read 3964 bytes and written 424 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-RSA-AES128-GCM-SHA256
Session-ID: DB367AE73DA43ED90C2BC28C46E2710EB3306A7A2CDA3F56F4B4223A1744412B
Session-ID-ctx:
Master-Key: 246377DBAE1EDD723FF2572FB0CC7A4DFBDEF3A3AC387EF4E47C420830AFE78026CDC36F07F072BF4BA16C7B4CA432DD
Key-Arg : None
Krb5 Principal: None
PSK identity: None
PSK identity hint: None
TLS session ticket lifetime hint: 100800 (seconds)
TLS session ticket:
0000 - 13 59 0c e8 14 55 eb 25-c7 f7 ea db b9 d1 dd 79 .Y...U.%.......y
0010 - 26 c0 cc c5 3e b4 24 c5-b8 76 24 72 ac 08 41 dc &...>.$..v$r..A.
0020 - 85 1d 22 c3 75 6f 90 5a-28 b1 a8 80 ef 29 fe 35 ..".uo.Z(....).5
0030 - 9e 46 7f 57 f0 d5 29 9b-53 09 dc 00 93 09 09 95 .F.W..).S.......
0040 - 2e 8c 8e 57 46 56 f5 29-40 b8 39 a6 c0 1b 2e b8 ...WFV.)@.9.....
0050 - 0c 83 9a a8 8c be 64 ef-aa 8c 62 2a 91 63 81 e7 ......d...b*.c..
0060 - 27 3e d0 be 95 35 89 0d-39 c7 74 ba a5 b1 dd 3f '>...5..9.t....?
0070 - a1 75 0e 32 dc 1c 1a 3d-9e a8 67 06 81 8b 82 ce .u.2...=..g.....
0080 - 48 c0 14 c6 30 e8 d6 72-61 70 a1 a4 b9 c2 c1 7e H...0..rap.....~
0090 - 5c 57 f5 94 \W..
Start Time: 1390283370
Timeout : 300 (sec)
Verify return code: 0 (ok)
---
250 CHUNKING
EHLO smtp.gmail.com
250-mx.google.com at your service, [202.134.95.51]
250-SIZE 35882577
250-8BITMIME
250-AUTH LOGIN PLAIN XOAUTH XOAUTH2 PLAIN-CLIENTTOKEN
250-ENHANCEDSTATUSCODES
250-PIPELINING
250 CHUNKING
AUTH LOGIN
334 VXNlcm5hbWU6
your_user_name_encoded_by_base64
334 UGFzc3dvcmQ6
your_password_encoded_by_base64
235 2.7.0 Accepted
MAIL FROM:<foo_sender@bar.com>
250 2.1.0 OK sx8sm18438141pab.5 - gsmtp
RCPT TO:<loo.receiver@foobar.com>
250 2.1.5 OK sx8sm18438141pab.5 - gsmtp
DATA
354 Go ahead sx8sm18438141pab.5 - gsmtp
Hooray! I've sent a mail to myself.
Yay! It works.
.
250 2.0.0 OK 1390283492 sx8sm18438141pab.5 - gsmtp
quit
221 2.0.0 closing connection sx8sm18438141pab.5 - gsmtp
read:errno=0
编程方式:
实现连接如socket,执行命令
Send Email in Linux from Command Line | DigitalOceanTechnical tutorials, Q&A, events — This is an inclusive place where developers can find or lend support and discover new ways to contribute to the community.https://www.digitalocean.com/community/tutorials/send-email-linux-command-line
5 Ways To Send Email from Linux Command Line - TecAdminBest Ways to Send Email From Linux Command Line. Details about popular Linux command line email sending commands. Send email in Linux.https://tecadmin.net/ways-to-send-email-from-linux-command-line/