sendmail 큐에 쌓여있는 메일 바로 발송하기 여러 이류로 인해 발송되지 못하고 큐에 쌓인경우, 서버자원을 점유하여 부하를 발생시킬 수 있다. 이런 경우,큐에 쌓인 메일을 바로 발송할 수 있다. /usr/sbin/sendmail -oQ/var/spool/mqueue -oT1d -q -v
문제Jul 23 13:06:46 localhost sendmail[20614]: My unqualified host name (hosting01) unknown; sleeping for retry 해결방법 1sendmail을 이용하여 메일전송을 위해서 완전한 호스트이름을 지정해야 한다. 호스트네임을 완전한 호스트네임으로 변경해준다. 해결방법 2/etc/hosts 파일에서 호스트네임을 localhost.localdomain localhost 와 함께 설정한다.
root@hosting02:/etc/mail# mailx -v lhb@domain.comSubject: aa.Cc: Null message body; hope that's oklhb@domain.com... Connecting to [127.0.0.1] via relay...220 hosting02.domain.com ESMTP Sendmail 8.13.8/8.13.8; Tue, 18 Dec 2012 13:34:24 +0900>>> EHLO hosting02.domain.com250-hosting02.domain.com Hello localhost.localdomain [127.0.0.1], pleased to meet you250-ENHANCEDSTATUSCODES250-PIPELINING250-8BITMIME250-SIZE250-DSN250-ETRN250-DELIVERBY250 HELP>>> MAIL From:<root@hosting02.domain.com> SIZE=33250 2.1.0 <root@hosting02.domain.com>... Sender ok>>> RCPT To:<
qmail 첨부파일 용량 제한하기 /var/qmail/control/databytes 에 바이트 단위로 입력한다. 실제 첨부 가능 용량은 설정 용량의 70% 정도 된다. 설정 후 qmail 재시작 여기까지.
qmail 동작 확인하기 echo to: 메일주소 | /var/qmail/bin/qmail-inject
qmail에서 아래와 같은 로그를 보았을때 퍼미션과 소유권을 확인하면 된다. Nov 21 08:24:51 mail3 pop3d: Connection, ip=[xxx.xxx.xxx.xxx] Nov 21 08:24:51 mail3 pop3d: chdir "/home/vpopmail/domains/domain.co.kr/lhyoung": Permission denied Nov 21 08:26:02 mail3 qmail: 1227223562.708787 warning: unable to stat mess/19/1338481 Nov 21 08:26:53 mail3 pop3d: Connection, ip=[xxx.xxx.xxx.xxx] Nov 21 08:26:53 mail3 pop3d: chdir "/home/vpopmail/domains/domain.co.kr/lhyoung": Permission denied Nov 21 08:27:07 mail3 pop3d: Connection, ip=[xxx.xxx.xxx.xxx]
센드메일 발송 테스트(sendmail) root@web:/usr/sbin# telnet localhost 25 Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. 220 aaa.com ESMTP Sendmail 8.13.1/8.13.1; Tue, 8 Mar 2011 15:41:47 +0900 mail from:aaa@aaa.com 250 2.1.0 aaa@aaa.com... Sender ok rcpt to:aaa@aaa.com 250 2.1.5 aaa@aaa.com... Recipient ok data 354 go ahead Return-Path: test@mail.com From: TEST <test@mail.com> To:<test@mail.com> Subject: 제목 Content-Type: text/html; chareset=euc-kr Content-Transfer-Encoding: base64 354 Enter mail, end with "." on a line by itself 테스트메일발송 . 250 2.0
MTA(Mail Transfer Agent: sendmail, qmail,..) 메일을 외부서버와 송/수신하는 역활수행 MDA(Mail Delivery Agent: procmail, ...) MTA에게서 메일을 받아 메일박스에 저장 MUA(Mail User Agent: Outlook Express, ...) 메일을 보내기 위해 사용되는 메일클라이언트
# vdelivermail은 메일 서버상에 존재하지 않는 계정으로 오는 메일에 대해 메일에 대해 어떤메일로 받을지 설정하는 명령어 # 기본값 | /vpopmail-디렉토리/bin/vdelivermail '' bounce-no-mailbox # 포워딩 하는 경우 admin@test.com 으로 모두 받아보려면 다음과 같이 수정 한다. | /vpopmail-디렉토리/bin/vdelivermail '' admin@test.com # 삭제하는 경우 존재하지 않는 계정으로 오는 메일을 삭제 하려면 ~vpopmail/domains/virtual_domain/.qmail-default 파일을 다음과 같이 수정 | /vpopmail-디렉토리/bin/vdelivermail '' delete # 포워딩 존재하지 않는 계정으로 오는 메일을 다른 도메인으로 보내려면 ~vpopmail/domains/virtual_domain/.qmail-default 파일을 다음과 같이 수정 | /vpopmail-디렉토리/bin/vdelivermail '' $EXT@newdomain.com
온라인 거래처리(OLTP ; OnLine Transaction Processing) 여러과정(또는 연산)이 하나의 단위 프로세스로 실행되도록 하는 프로세스 ex) 과정 1 : 철수의 계좌에서 50,000원을 감소시킨다 과정 2 : 현금을 인출해 준다. 과정 3 : 명세표를 출력해준다 이와같은 과정은 하나의 단위로 이루어져야 함 트랜잭션 : 데이터베이스 일관성을 보존하는 프로그램 실행단위 트랜잭션의 속성 원자성 : 하나의 트랜잭션을 구성하는 단위작업들은 모두 수행되든지 아니면 모두 수행되지 않아야 함 일관성 : 하나의 트랜잭션이 수행되었을 때, 그 트랜잭션은 데이터베이스 일관성을 보전해 주어야 함 고립성 : DBMS가 여러 트랜잭션을 동시에 수행시키는 경우에도 트랜잭션들은 서로 상호 간섭을 받지 않아야 함 지속성 : 트랜잭션이 정상적으로 완료되었다면 설사 해당 변경 내용이 디스크상에 반영되기 전에 시스템 장애가 일어나더라도 트랜잭션의 완료 효과는 계속적으로 유지 되어야 함 트랜잭션 명령문 BEGIN TRAN[SACTION] [<트랜잭션 이름>] : 트랜잭션 시작 명시COMMIT TRAN[SACTION] [<트랜잭션 이름>] :…
# sendmail mqueue 설정 (sendmail 발송속도 높이기) /etc/mail/sendmail.cf 에서 변경전 : O QueueDirectory=/var/spool/mqueue 변경후 : O QueueDirectory=/var/spool/mqueue/q* /var/spool/mqueue 밑에 q1~q10 디렉토리 생성 센드메일 재시작 # 큐에 쌓인 메일 강제로 보내기 sendmail -oQ/var/spool/mqueue -oT1d -q -v
sendmail에서 mqueue의 처리상황 확인하는 명령어 root@51s:/var/spool/mqueue# sendmail -bp /var/spool/mqueue/q19 is empty /var/spool/mqueue/q16 is empty /var/spool/mqueue/q12 is empty /var/spool/mqueue/q5 is empty /var/spool/mqueue/q28 is empty /var/spool/mqueue/q6 is empty /var/spool/mqueue/q9 is empty /var/spool/mqueue/q13 is empty /var/spool/mqueue/q10 is empty /var/spool/mqueue/q8 is empty /var/spool/mqueue/q11 is empty /var/spool/mqueue/q27 is empty /var/spool/mqueue/q23 is empty /var/spool/mqueue/q2 is empty /var/spool/mqueue/q29 is empty /var/spool/mqueue/q17 is empty /var/spool/mqueue/q1 is empty /var/