Differences between revisions 7 and 9 (spanning 2 versions)
Revision 7 as of 2006-01-04 01:50:28
Size: 2610
Editor: 127
Comment:
Revision 9 as of 2006-01-04 09:23:20
Size: 2520
Editor: 211
Comment:
Deletions are marked like this. Additions are marked like this.
Line 52: Line 52:
메일발송 스크립트 메일발송 스크립트.
Line 55: Line 55:
# -*- coding: euc-kr -*- # -*- coding: utf-8 -*-
Line 60: Line 60:
toEuckr = lambda s: unicode(s, 'utf-8').encode('euc-kr')
Line 61: Line 62:
server.set_debuglevel(1)

fromaddr = '김형용 <yong27@abc.net>'
toaddrs = [line.strip() for line in file('testaddr.txt')]
contents = '테스트입니다.'
for toaddr in toaddrs:
#server.set_debuglevel(1)
fromaddr = toEuckr('김형용 <yong27@bh.net>')
subject = toEuckr(sys.stdin.readline())
contents = toEuckr(sys.stdin.read())
for line in file(sys.argv[1]):
    toaddr = line.strip()
Line 70: Line 71:
    msg['Subject'] = '테스트메일'     msg['Subject'] = subject
Line 75: Line 76:
위 스크립트는 제대로 작동하지만, 한메일로 가는 메일의 경우 받지를 못한다. 다음에서 localhost.localdomain 으로 부터 오는 메일을 차단했다는 이야기가 있던데 그것때문일까? AnswerMe -- ["yong27"] [[DateTime(2006-01-03T16:50:28Z)]] 사용법은 (여기서 msg.txt의 첫 라인은 제목으로 처리됨)
{{{
$ ./bulkmail.py addrs.txt < msg.txt
}}}

SimpleMailTransferProtocol

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

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

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

대표적인 프로그램으로

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

  • [Dovecot]
  • [Cyrus]

웹메일 프로그램

웹메일 서비스

  • [Gmail]

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

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

# 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 메일발송

메일발송 스크립트.

   1 #!/usr/bin/env python
   2 # -*- coding: utf-8 -*-
   3 
   4 import smtplib, sys
   5 from email.MIMEText import MIMEText
   6 
   7 toEuckr = lambda s: unicode(s, 'utf-8').encode('euc-kr')
   8 server = smtplib.SMTP('biohackers.net')
   9 #server.set_debuglevel(1)
  10 fromaddr = toEuckr('김형용 <yong27@bh.net>')
  11 subject = toEuckr(sys.stdin.readline())
  12 contents = toEuckr(sys.stdin.read())
  13 for line in file(sys.argv[1]):
  14     toaddr = line.strip()
  15     msg = MIMEText(contents,'plain','euc-kr')
  16     msg['From'] = fromaddr
  17     msg['To'] = toaddr
  18     msg['Subject'] = subject
  19     server.sendmail(fromaddr, toaddr, msg.as_string())
  20 server.quit()

사용법은 (여기서 msg.txt의 첫 라인은 제목으로 처리됨)

$ ./bulkmail.py addrs.txt < msg.txt 

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

web biohackers.net