커맨드 라인에서 메일을 보내는 방법?
커맨드 라인에서 메일을 보내는 방법?
답변:
Mutt E-mail Client 를 설치하십시오 . 다른 옵션은 gnus 와 함께 emacs를 사용하는 것 입니다. 다른 옵션도 가능합니다 ... IMHO, 질문에 더 자세한 내용을 보거나 질문에 대한 몇 가지 다른 답변을 사용해야합니다 :-)
ssmtp를 설치하십시오 .
sudo apt-get install ssmtp
ssmtp 구성 파일을 편집하십시오.
gksu gedit /etc/ssmtp/ssmtp.conf
다음 텍스트를 추가하십시오.
root=username@gmail.com
mailhub=smtp.gmail.com:465
rewriteDomain=gmail.com
AuthUser=username
AuthPass=password
FromLineOverride=YES
UseTLS=YES
ssmtp를 실행하고 수신자 이메일 주소를 제공하십시오.
ssmtp recepient_name@gmail.com
다음과 같이 메시지 세부 사항을 제공하십시오.
To: recipient_name@gmail.com
From: username@gmail.com
Subject: Sent from a terminal!
Your content goes here. Lorem ipsum dolor sit amet, consectetur adipisicing.
(Notice the blank space between the subject and the body.)
Ctrl+ D를 눌러 전송합니다.
텍스트를 파일에 넣고 다음과 같이 보낼 수도 있습니다.
ssmtp recipient_name@gmail.com < filename.txt
대부분의 경우 SMTP 서버를 구성 할 필요가없는 mail
경우 명령 줄에서 간단히 사용할 수 있습니다 (아직없는 경우 설치 sudo apt-get install mailutils
). (또는 sendmail이 구성된 서버에있는 경우 등)
marco@dagobah:~$ mail -v marco.ceppi.use@gmail.com
Subject: Hello World!
This is an email to myself.
Hope all is well.
.
Cc:
단일 .
온라인으로 메시지를 종료합니다 . 이때 정보 mail
를 Cc:
입력 하라는 메시지 가 표시되면 (또는 비워 두십시오.) mail
메일 서버에서 데이터 연결, 전송 및 수신 처리에 대한 세부 정보뿐만 아니라 수행하려는 작업에 대한 추가 정보를 인쇄합니다.
sudo apt-get install mailutils
는 SMTP 서버를 설치하는데 postfix
,이 서버는 일부 사람들에게는 약간 과체중이 될 수 있습니다.
apt-get install libio-socket-ssl-perl libnet-ssleay-perl sendemail
용법:
sendemail -f fromuser@gmail.com -t touser@domain.com -u subject -m "message" -s smtp.gmail.com:587 -o tls=yes -xu gmailaccount@gmail.com -xp gmailpassword
명령 행에서 비밀번호를 지정하지 않으려면 (일반적으로 좋은 일이 아님) 해당 매개 변수를 생략하면 sendemail에서 비밀번호를 묻는 프롬프트를 표시하고 화면에 표시하지만 명령 행 히스토리에는 없습니다.
sendmail
가장 확실한 방법으로 Gmail 계정에서 메일을 보내는 것이 매우 편리합니다. 감사합니다.
-s smtp.gmail.com:587
.
pass=$(cat my_password); sendemail... -xp $name ...
프로그래밍 방식으로 호출하면 비슷한 것을 수행 할 수 있습니다 system("sendemail ... -xp #{File.read 'my_password'}...")
. 처음에는 해당 계정으로 "보안 수준이 낮은 앱 사용"을 제안하는 이메일을 보내야 작동합니다.
메일을 보내려면 MTA가 필요합니다. 이를 위해 postfix를 사용하십시오.
sudo apt-get install postfix
이메일을 보내려면 :
echo "test message" | mailx -s 'test subject' myemail@mydomain.com
mailutils
나는 터미널에이 들어갔을 때
mail -s "subjet" -a "attchedfile_name" someone@dest_email.com
또는
cat "afile" | mail -s "subject" someone@dest_email.com
sudo apt-get install mailutils
우분투 / 데비안이나 yum install mailx
CentOS는 / 레드햇에서
hanoo@hp_laptop% nc 127.0.0.1 25
220 hp_laptop.localdomain ESMTP Postfix
EHLO man
250 hp_laptop.localdomain
MAIL FROM: <netcat@postfix.com>
250 2.1.0 Ok
RCPT TO: <target@host.com>
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
This is the body of my mail,
this is the second line...
.
250 2.0.0 Ok: queued as 9C12E7F404
swaks
하고 SSL / TLS도 괜찮습니다. ;-)
openssl s_client -starttls smtp ...
시스템에서 전자 메일을 보내려고 할 때 자체 전자 메일 서버 (예 : 데스크톱 시스템)를 실행하지 않으면 nullmailer 또는 esmtp 와 같은 것을 설치해야 합니다. 로컬 메일을 "실제"메일로 전달합니다. 섬기는 사람.
명령 행 도구로서 mail 또는 mailx (mailutils, heirloom-mailx 또는 bsd-mailx 패키지)를 설치할 수 있습니다. 첨부 파일이 필요한 경우 biabam을 사용해보십시오.
sudo apt-get install sharutils mailutils
uuencode filename filename | mail user@example.com
경우는 filename
동일합니다 : 그것은 입력 파일과 원격 파일을 의미합니다.
sudo apt-get install sharutils
대한uuencode
당신은 이것을 시도 할 수 있습니다 :
mail name@mailserver.com -s "Attached file" <<EOF
Hi
~| uuencode $HOME/filename.txt filename.txt
EOF
GNU Mailutils 와 함께 작동 합니다. 자세한 내용은 웹 사이트를 확인하십시오.
실행 :
sudo apt-get install ssmtp
sudo -H gedit /etc/ssmtp/ssmtp.conf
여기에 다음을 추가해야합니다.
# The user that gets all the mails (UID < 1000, usually the admin)
root=yourusernameofgmail@gmail.com
# The mail server (where the mail is sent to), both port 465 or 587 should be acceptable
# See also https://support.google.com/mail/answer/78799
mailhub=smtp.gmail.com:587
# The address where the mail appears to come from for user authentication.
rewriteDomain=gmail.com
# Use SSL/TLS before starting negotiation
UseTLS=Yes
UseSTARTTLS=Yes
# Username/Password
AuthUser=yourusernameofgmail
AuthPass=yourGmailPassowrd
AuthMethod=LOGIN
# Email 'From header's can override the default domain?
FromLineOverride=yes
실행 :
sudo -H gedit /etc/ssmtp/revaliases
거기에 입력하십시오 :
root:yourusernameofgmail@gmail.com:smtp.gmail.com:587
Gmail에서 "안전하지 않은 앱" 을 사용하도록 설정 :
https://support.google.com/accounts/answer/6010255?hl=ko
터미널에서 다음을 실행하여 테스트하십시오.
echo "Body of mail is abc" | mail -s "Subject is xyz" "someusername@gmail.com"`
위의 것 외에도 여전히이 오류가 발생했습니다.
echo "Test message from Linux server using ssmtp" | sudo ssmtp -vvv somebody@mil.gov
[<-] 220 smtp.gmail.com ESMTP v193sm19198825qka.18 - gsmtp
[->] EHLO localhost
[<-] 250 SMTPUTF8
[->] STARTTLS
[<-] 220 2.0.0 Ready to start TLS
[->] EHLO localhost
[<-] 250 SMTPUTF8
[->] AUTH LOGIN
[<-] 334 VXNlcm5hbWU6
[->] aG94Z2VuZUBrrrFpbC5jb20=
[<-] 334 UGFzweliecmQ6
[<-] 534 5.7.14 https://support.google.com/mail/answer/78754 v193sm19198825qka.18 - gsmtp
ssmtp: Authorization failed (534 5.7.14 https://support.google.com/mail/answer/78754 v193sm19198825qka.18 - gsmtp)
해결 방법 : 현재 비밀번호가 올바른 경우에도 Gmail 비밀번호 재설정을 수행하십시오 ... Google 보안 예방 조치