Size: 2610
Comment:
|
← Revision 16 as of 2013-04-17 10:52:11 ⇥
Size: 2703
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
메일을 주고받기 위해 사용하는 [TCP]/[IP]프로토콜. 서버들 사이에서 E-mail을 전송하고 받기 위해서 일반적으로 이용된다. | 메일을 주고받기 위해 사용하는 [[TCP]]/[[IP]]프로토콜. 서버들 사이에서 E-mail을 전송하고 받기 위해서 일반적으로 이용된다. |
Line 5: | Line 5: |
포트25번을 사용하며, 클라이언트가 요청/응답의 간단한 대화를 통하여 [SMTP]서버와 연결을 만들고, 메세지를 보내는 사람과 받는사람(들)의 메일주소를 전송한다. 서버가 메일주소를 받아들이면 그때 클라이언트가 메세지를 전송한다. | 포트25번을 사용하며, 클라이언트가 요청/응답의 간단한 대화를 통하여 SMTP서버와 연결을 만들고, 메세지를 보내는 사람과 받는사람(들)의 메일주소를 전송한다. 서버가 메일주소를 받아들이면 그때 클라이언트가 메세지를 전송한다. |
Line 7: | Line 7: |
항상 인터넷에 연결되어 있지 않은 호스트들을 위해 [POP3]는 우체국처럼 작업한다. | 항상 인터넷에 연결되어 있지 않은 호스트들을 위해 [[POP3]]는 우체국처럼 작업한다. |
Line 11: | Line 11: |
* [Eudora] | * [[Eudora]] |
Line 13: | Line 13: |
* [Mush] | * [[Mush]] |
Line 20: | Line 20: |
* [Smail], [Zmail], [MMDF] * [Qmail] |
* [[Smail]], [[Zmail]], [[MMDF]] * [[Qmail]] |
Line 27: | Line 27: |
* [Dovecot] * [Cyrus] |
* [[Dovecot]] * [[Cyrus]] |
Line 34: | Line 34: |
* [Gmail] | * [[Gmail]] |
Line 38: | Line 38: |
UbuntuLinux, [DDNS]환경에서 PostFix, [Dovecot], SquirrelMail으로 메일서버 세팅하기. (꽤 까다로운 점이 있었는데, 원래 도메인으로는 안되던것. mail. 호스트를 따로 지정해야만 동작했다.) -- ["yong27"] [[DateTime(2005-11-04T00:38:22Z)]] | UbuntuLinux, [[DDNS]]환경에서 PostFix, [[Dovecot]], SquirrelMail으로 메일서버 세팅하기. (꽤 까다로운 점이 있었는데, 원래 도메인으로는 안되던것. mail. 호스트를 따로 지정해야만 동작했다.) -- [[yong27]] <<DateTime(2005-11-04T00:38:22Z)>> |
Line 52: | Line 52: |
메일발송 스크립트 | 메일발송 스크립트. (여기서 msg.txt의 첫 라인은 제목으로 처리됨) |
Line 55: | Line 55: |
# -*- coding: euc-kr -*- | # -*- coding: utf-8 -*- |
Line 60: | Line 60: |
Usage = "./bulkmail.py address.txt < msg.txt" try: addressFileName = sys.argv[1] except IndexError: print Usage sys.exit(1) toEuckr = lambda s: unicode(s, 'utf-8').encode('euc-kr') |
|
Line 61: | Line 69: |
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(addressFileName): toaddr = line.strip() sys.stdout.write(toaddr+'... ') |
Line 70: | Line 79: |
msg['Subject'] = '테스트메일' | msg['Subject'] = subject |
Line 72: | Line 81: |
sys.stdout.write('completed\n') | |
Line 74: | Line 84: |
위 스크립트는 제대로 작동하지만, 한메일로 가는 메일의 경우 받지를 못한다. 다음에서 localhost.localdomain 으로 부터 오는 메일을 차단했다는 이야기가 있던데 그것때문일까? AnswerMe -- ["yong27"] [[DateTime(2006-01-03T16:50:28Z)]] |
메일을 주고받기 위해 사용하는 TCP/IP프로토콜. 서버들 사이에서 E-mail을 전송하고 받기 위해서 일반적으로 이용된다.
포트25번을 사용하며, 클라이언트가 요청/응답의 간단한 대화를 통하여 SMTP서버와 연결을 만들고, 메세지를 보내는 사람과 받는사람(들)의 메일주소를 전송한다. 서버가 메일주소를 받아들이면 그때 클라이언트가 메세지를 전송한다.
항상 인터넷에 연결되어 있지 않은 호스트들을 위해 POP3는 우체국처럼 작업한다.
대표적인 프로그램으로
- Mail User Agents
- Mail Transfer Agents
- Mail Delivery Agents
메일서버를 돌리려면, 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()