SimpleMailTransferProtocol

메일을 주고받기 위해 사용하는 TCP/IP프로토콜. 서버들 사이에서 E-mail을 전송하고 받기 위해서 일반적으로 이용된다.

포트25번을 사용하며, 클라이언트가 요청/응답의 간단한 대화를 통하여 SMTP서버와 연결을 만들고, 메세지를 보내는 사람과 받는사람(들)의 메일주소를 전송한다. 서버가 메일주소를 받아들이면 그때 클라이언트가 메세지를 전송한다.

항상 인터넷에 연결되어 있지 않은 호스트들을 위해 POP3는 우체국처럼 작업한다.

대표적인 프로그램으로

메일서버를 돌리려면, pop, imap서버가 따로 필요하다. (특히, PostFix의 경우)

웹메일 프로그램

웹메일 서비스

UbuntuLinux, DDNS환경에서 메일서버 세팅하기

UbuntuLinux, DDNS환경에서 PostFix, Dovecot, SquirrelMail으로 메일서버 세팅하기. (꽤 까다로운 점이 있었는데, 원래 도메인으로는 안되던것. mail. 호스트를 따로 지정해야만 동작했다.) -- yong27 2005-11-04 09:38:22

# apt-get install postfix
# apt-get install dovecot
# apt-get install squirrelmail
# vi /etc/postfix/main.cf
myhostname = mail.mydomainname
# vi /etc/dovecot/dovecot.conf
# squirrelmail-config

Python 메일발송

메일발송 스크립트. (여기서 msg.txt의 첫 라인은 제목으로 처리됨)

   1 #!/usr/bin/env python
   2 # -*- coding: utf-8 -*-
   3 
   4 import smtplib, sys
   5 from email.MIMEText import MIMEText
   6 
   7 Usage = "./bulkmail.py address.txt < msg.txt"
   8 try:
   9     addressFileName = sys.argv[1]
  10 except IndexError:
  11     print Usage
  12     sys.exit(1)
  13 
  14 toEuckr = lambda s: unicode(s, 'utf-8').encode('euc-kr')
  15 server = smtplib.SMTP('biohackers.net')
  16 #server.set_debuglevel(1)
  17 fromaddr = toEuckr('김형용 <yong27@bh.net>')
  18 subject = toEuckr(sys.stdin.readline())
  19 contents = toEuckr(sys.stdin.read())
  20 for line in file(addressFileName):
  21     toaddr = line.strip()
  22     sys.stdout.write(toaddr+'... ')
  23     msg = MIMEText(contents,'plain','euc-kr')
  24     msg['From'] = fromaddr
  25     msg['To'] = toaddr
  26     msg['Subject'] = subject
  27     server.sendmail(fromaddr, toaddr, msg.as_string())
  28     sys.stdout.write('completed\n')
  29 server.quit()

SMTP (last edited 2013-04-17 10:52:11 by 211)

web biohackers.net