MSMTP를 다운로드한 후 적절한 곳에 msmtp.exe 파일을 풀어 놓는다.
압축 파일 내의 Documentation에서 msmtprc-user.txt 파일을 가져와 홈디렉토리에 msmtprc.txt 파일로 저장하고 그 내용을 적절히 편집한다. 대략 다음과 유사하게 수정하면 될 듯...
defaults
account account1
host smtp.gmail.com
from MyID@gmail.com
auth on
port 587
tls on
tls_certcheck off
user MyID@gmail.com
password MyPassword
logfile c:\msmtplog.txt
account default : account1
.emacs 파일에 다음 내용을 추가한다.
(setq send-mail-function 'sendmail-send-it)
(setq sendmail-program "C:/msmtp/msmtp.exe")
(setq message-sendmail-extra-arguments '("-a" "account1"))
(setq mail-host-address "gmail.com")
(setq user-full-name "My Name")
(setq user-mail-address "MyID@gmail.com")
C-x m 혹은 M-x mail 을 실행하여 메일을 작성한 후 발송해본다.
당연히 GNUTLS가 필요하다. Signal과 관련된 문제로 인해 gnutls-cli.exe 파일에 signal을 보내줄 수 있는 방법이 필요한데, 이 모든 것을 간편하게 처리하려면 Cygwin의 GNUTLS 패키지와 kill.exe 파일을 사용하는 것이 적절한 것 같다.
Cygwin을 사용한다고 가정하고 다음의 내용을 .emacs 파일에 추가한다.
(if (not (member "C:/cygwin/bin/" exec-path))
(setq exec-path (cons "C:/cygwin/bin/" exec-path)))
(setq mail-host-address "gmail.com")
(setq user-full-name "My Name")
(setq user-mail-address "MyID@gmail.com")
(setq smtpmail-starttls-credentials '(("smtp.gmail.com" 587 nil nil))
smtpmail-smtp-server "smtp.gmail.com"
smtpmail-default-smtp-server "smtp.gmail.com"
send-mail-function 'smtpmail-send-it
message-send-mail-function 'smtpmail-send-it
smtpmail-smtp-service 587
smtpmail-auth-credentials '(("smtp.gmail.com" 587 "MyID@gmail.com" nil))
;자동 로그인을 사용하려면 아래 부분 주석을 풀고 .authinfo 파일에 적절한 내용을 추가한다.
;smtpmail-auth-credentials (expand-file-name "~/.authinfo")
;디버깅 정보를 상세히 보여주려면 아래 주석을 해제한다.
;smtpmail-debug-info t
)
가장 중요한 부분: emacs_root/lisp/gnus/starttls.el 파일을 수정해야 한다. (또는, 관련 함수를 찾아 수정한 다음 그 내용을 .emacs 파일에서 재정의하는 것도 가능하다. 사실 이 방법이 더 편할 수 있다.)
찾아야 할 내용: 아래 코드 내용을 모두 찾아서...
(signal-process (process-id process) 'SIGALRM)
바꿀 내용: 아래의 내용으로 바꾸어 준다!!
(call-process "c:/cygwin/bin/kill.exe" nil nil nil
"-ALRM" (format "%d" (process-id process)))
자동 로그인을 사용하려면 위 .emacs 파일의 설정 내용 중 파란색 부분의 주석을 해제하고, ~/.authinfo 파일을 만든 후 그 내용을 다음과 같이 채운다. 아래 내용은 한 줄로만 구성되어야 하고 끝에 개행 문자가 오지 않아야 한다.
machine smtp.gmail.com login MyID@gmail.com password MyPassword
C-x m 혹은 M-x mail 을 실행하여 메일을 작성한 후 발송해본다.