PHP 메일(mail) 함수를 이용한 첨부화일 전송하기

리눅스/Mail|2015. 1. 23. 09:35
반응형

[PHP 메일(mail) 함수를 이용한 첨부화일 전송하기]

여기서는 PHP 메일함수를 이용하여 첨부화일을 전송하는 가장 간단한 폼메일(Form mail)예제를 알아보겠습니다.
웹호스팅을 이용하고 계시다면 대부분 셋팅이 되어 있겠지만 시스템을 직접 설치 사용하고 계시다면 PHP의 mail()함수를 사용하기 위해서 아래의 사항을 체크해 봐야 합니다.

1.유닉스/리눅스 환경
php.ini 파일의 변수중 sendmail_path 가 완전한 경로로 잡혀 있는지 체크해 봐야 합니다.
php.ini 의 경로를 모른다면, php 파일을 하나 만들어서 <? phpinfo(); ?> 로 확인 하실 수 있습니다. )

sendmail_path = usr/sbin/sendmail -t -i

위의 환경변수는 저희 서버의 php.ini 에 있는 값을 확인한 결과입니다.

2.윈도우즈 환경
윈도우즈 환경은 두가지 값을 체크해 봐야 합니다. 첫번째로 php.ini 파일의 변수중 SMTP 변수에 SMTP 서버의 DNS 이름또는 IP 주소가 잡혀 있는지 체크해 봐야 하며, 두번째는 sendmail_from 변수에 디폴트 이메일 전송자의 
email 주소 값이 있는지 체크해 봐야 합니다.

메일함수의 기본구조

mail( 받는 이메일주소, 제목, 내용, header정보 );

메일함수의 기본구조는 위와 같이 아주 간단한 구조를 가지고 있으며 이상이 없을시 1을 리턴합니다. 이상이 없다는 것은 메일함수가 인자로 받는 파라미터의 값들을 무난하게 받아 들였다는 것을 의미하며, 메일전송의 성공을 의미하는 것은 아닙니다.

아래의 예제는 첨부파일이 있는 폼메일(form mail) 전송의 가장 간단한 예제이며, 앞단의 폼(form)에서 넘겨받은 값들
을 이용해 메일을 전송하게 됩니다. 아래의 예제에서 살펴 보실 부분은 헤더작성, 이메일 본문 생성, 파일 첨부 부분
이며 앞단의 form 부분을 포함한 전체 소스는 zip 파일로 올려 놓겠습니다.

<?
// 폼에서 넘어오는 값들
//-- $mailTo : 수신자 이메일주소
//-- $mailFrom : 송신자 이메일주소
//-- $fromName : 송신자명 또는 정보
//-- $title : 메일제목
//-- $content : 메일내용
//-- $upfile : 첨부파일명
//*******************************


$boundary = "----" . uniqid("part"); // 구분자 생성

// --- 헤더작성 --- //
$header = "Return-Path: $mailFromrn"; // 반송 이메일 주소
$header .= "from: $fromName <$mailFrom>rn"; // 송신자명, 송신자 이메일 주소

// --- 첨부화일이 있을경우 --- //
if($upfile && $upfile_size) {
$filename=basename($upfile_name); // 파일명 추출
$fp = fopen($upfile,"r"); // 파일 열기
$file = fread($fp,$upfile_size); // 파일 읽기
fclose($fp); // 파일 닫기
if ($upfile_type == ""){
$upfile_type = "application/octet-stream";
}

// --- 헤더작성 --- //
$header .= "MIME-Version: 1.0rn"; // MIME 버전 표시
$header .= "Content-Type: Multipart/mixed; boundary="$boundary""; // 구분자 설정, Multipart/mixed 일 경우 첨부화일

// --- 이메일 본문 생성 --- // 
$mailbody = "This is a multi-part message in MIME format.rnrn";
$mailbody .= "--$boundaryrn";
$mailbody .= "Content-Type: text/html; charset=euc-krrn";
$mailbody .= "Content-Transfer-Encoding: 8bitrnrn";
$mailbody .= nl2br(addslashes($content)) . "rn";

// --- 파일 첨부 ---// 
$mailbody .= "--$boundaryrn"; 
$mailbody .= "Content-Type: ".$upfile_type."; name="".$filename.""rn"; // 내용
$mailbody .= "Content-Transfer-Encoding: base64rn"; // 암호화 방식 
$mailbody .= "Content-Disposition: attachment; filename="".$filename.""rnrn"; // 첨부파일인 것을 알림
$mailbody .= base64_encode($file)."rnrn";

$mailbody .= "--$boundary--"; //내용 구분자 마침
} else {
// --- 헤더작성 --- // 
$header .= "MIME-Version: 1.0rn"; 
$header .= "Content-Type: Multipart/alternative; boundary = "$boundary"";

// --- 이메일 본문 생성 --- //
$mailbody = "--$boundaryrn"; 
$mailbody .= "Content-Type: text/html; charset=euc-krrn";
$mailbody .= "Content-Transfer-Encoding: 8bitrnrn";
$mailbody .= nl2br(addslashes($content)) . "rn";

$mailbody .= "--$boundary--rnrn"; 
}

$result = mail($mailTo,$title,$mailbody,$header);
if($result){
echo "메일 전송에 성공하였습니다.";
}else {
echo "메일 보내기 실패";
}

?>



[출처] 웹마당넷 (http://www.webmadang.net/develop/develop.do?action=read&boardid=1003&page=3&seq=29)



formail.zip


반응형

댓글()

CentOS 6.4 에서 Postfix 설치 및 설정

리눅스/Mail|2015. 1. 23. 09:35
반응형

1. 설치

# yum install postfix*

 

2. 설정

# vi /etc/postfix/main.cf

myhostname = mail.sysdocu.com        // 현재 사용중인 메일 서버 호스트

mydomain = sysdocu.com                       // 메일 주소에 사용할 도메인 

inet_interfaces = all                                     // 모든 IP에서 25번 포트 접근 허용

mydestination = sysdocu.com               // 메일을 수신 받을 도메인 도메인

mynetworks = 0.0.0.0/0                             // 릴레이 설정하는 부분입니다. outlook 등으로 메일 발송하려면 IP를 등록해야 하는데,

                                             불특정 IP나 유동 IP로 인해 모든 IP를 허용한 상태 입니다.

                                             스팸발송 방지를 위해 메일 발송 인증 설정은 꼭 해두어야 합니다.

 

3. 구동

# /etc/init.d/postfix start

반응형

댓글()

dovecot 2.x 설정 방법

리눅스/Mail|2015. 1. 23. 09:34
반응형

CentOS 6.4 에서는 dovecot 이 2.0.9 버전이 설치되어 기존 CentOS 5.9 의 1.0.7 버전과 설정방법의 차이가 생겼습니다.

 

아래와 같이 설정하면 바로 사용이 가능합니다.

설정파일은 꼭 수정해야할 부분만 기록해두었습니다.

 

1. 설치

[root@sysdocu ~]# yum install dovecot*

 

2. 설정

[root@sysdocu ~]# cd /etc/dovecot

 

[root@sysdocu dovecot]# vi dovecot.conf

protocols = imap pop3 lmtp

listen = *

 

[root@sysdocu dovecot]# cd conf.d

 

[root@sysdocu conf.d]# vi 10-auth.conf

disable_plaintext_auth = no

auth_mechanisms = plain

!include auth-system.conf.ext

 

[root@sysdocu conf.d]# vi 10-mail.conf

mail_location = mbox:~/mail:INBOX=/var/mail/%u

first_valid_uid = 500
first_valid_gid = 500

 

3. 구동

[root@sysdocu conf.d]# /etc/init.d/dovecot start

 

반응형

댓글()

RoundcubeMail 에서 daum.net 으로 발송은 빠르고 hanmail.net 으로는 느리게 발송 될때

리눅스/Mail|2015. 1. 23. 09:34
반응형

RoundcubeMail 사용이 원인은 아닙니다.

SMTP 를 의심해볼만 한데, 테스트는 해보지 않았습니다.

 

편법을 이용하자면, hanmail.net 계정으로 발송시 자동으로 daum.net으로 변경, 발송되도록 합니다.

(hanmail.net 과 daum.net 은 같은 계정입니다)

 

수정파일 : program/steps/mail/sendmail.inc

 

$mailto = trim(preg_replace($regexp, $replace, $mailto));

// 대략 161번째 줄에 위와같은 행을 찾아서 바로 아래에 내용을 추가합니다. (버전에 따라 다름)

 

162번째 줄에 내용 삽입

$mailto=preg_replace("/hanmail.net/", "daum.net", $mailto);

 

반응형

'리눅스 > Mail' 카테고리의 다른 글

CentOS 6.4 에서 Postfix 설치 및 설정  (0) 2015.01.23
dovecot 2.x 설정 방법  (0) 2015.01.23
postfix queue 삭제  (0) 2015.01.23
우분투에 postfix 설치  (0) 2015.01.23
vqadmin 설치 (vpopmail web interface)  (0) 2015.01.23

댓글()

postfix queue 삭제

리눅스/Mail|2015. 1. 23. 09:33
반응형

1. 메일 큐 전체 비우기
postfix flush 또는 postfix -f
 

2. 현재 쌓인 메일 확인
mailq
 

3. 메일큐 전체 삭제
postsuper -d ALL
 

4. 메일큐에서 deferred 된 메일만 삭제
postsuper -d ALL deferred

 

[출처] Kim's, 처음과 같은 마음가짐으로  | 처음과끝 (http://blog.naver.com/rlaqudgns150?Redirect=Log&logNo=150150279565)

반응형

댓글()

우분투에 postfix 설치

리눅스/Mail|2015. 1. 23. 09:33
반응형

이건 쫌 어렵습니다;ㅎ
일단 우분투 운영체제와 고정IP와 DNS가 필요합니다.ㅎ
DNS는 
http://dnip.net (무료)에서 받으시면 됩니다.  wo.to같은 싸이트는 안됩니다.ㅎ


제일 먼저 postfix를 설치 합니다.

$ sudo apt-get install postfix 

그런 다음 postfix설정이 되겠는데 

$ sudo dpkg-reconfigure postfix 환경설정에 들어갑니다.

인터넷 사이트(internet site) 선택

그 다음 서비스 무슨 네임인가 나오실텐데요 여기서 dnip.net에서 받은 무료 계정을 넣습니다
아이디.dnip.net 이렇게 되겠지요?

나머지는 전부 기본 설정을 그대로 유지 하십시오.


이제 메일 폴더 설정!

여기서는 gedit를 이용 하겠습니다.

$sudo gedit /etc/postfix/main.cf  를 치시면 텍스트 문서 같은 뭔가가 뜰 겁니다.ㅎ
다른 라인은 수정하지 마시고. 그냥 제일 밑에다가

home_mailbox = Maildir/
mailbox_command =
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
inet_interfaces = all


이것들 쫘~~악 복사 해서 붙여 넣기 합니다.


자 그 다음으로 또 gedit를 이용해 

$sudo gedit /etc/postfix/sasl/smtpd.conf  명령을 실행 시킵니다.

자 이번엔 빈 문서가 뜰 껍니다.ㅎ 당황하지 마시고 그냥 

pwcheck_method: saslauthd
mech_list: plain login


이 두 줄만 추가 해 주십시오.

이제 약간 고난이도 문제 나왔습니다. 오타 안나오도록 주의 하세요,ㅋ
TLS 인크립션과 인증을 위한 인증서 생성과정인데요


$touch smtpd.key

$chmod 600 smtpd.key

$openssl genrsa 1024 > smtpd.key

$openssl req -new -key smtpd.key -x509 -days 3650 -out smtpd.crt

$openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650

위에 2줄을 실행 시키면 무슨 값 넣는게 나오는데,, 모르면 그냥 엔터엔터엔터 해서 빈 값을 넣어도 아무 상관 없다.

(위 명령어 중 실행이 잘 되지 않는 다면 제일 앞에 sudo 를 붙입니다.)

$sudo mv smtpd.key /etc/ssl/private/

$sudo mv smtpd.crt /etc/ssl/certs/

$sudo mv cakey.pem /etc/ssl/private/

$sudo mv cacert.pem /etc/ssl/certs/




자 이제 다시 postfix설정인데요 다시 한번 gedit를 이용 하겠습니다.

$sudo gedit /etc/postfix/main.cf    명령어 실행 시키시고.

smtpd_tls_auth_only = no
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/ssl/private/smtpd.key
smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt
smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom


마지막 라인에 내용을 삽입 하시면 됩니다.ㅎ 



$sudo /etc/init.d/postfix reload            postfix 데몬을 재시작 시킵니다.



sasl2 설치! 이건 뭐 메일을 보내는데 필요한 거라 보시면 됩니다. 즉 인증을 해주는 그런 거?ㅎ

$sudo apt-get install libsasl2 libsasl2-modules sasl2-bin
이 명령어 치시면 업데이트 되었다면서 명령어 안뜨시는 분들도 계실껀데요^^
저도 자세히는 몰라서(저는 안뜹니다;;) 각자 해결 하시길 바랄께요,ㅎ


saslauthd 수정!


$sudo gedit /etc/default/saslauthd

문서에 엄청난 영어가 쏟아 질 텐데요 저희가 알 껀 몇개 안됩니다.


우선 START=no  START=yes 수정 해줍니다.
그 다음 START=yes 문장 바로 밑에 

PWDIR="/var/spool/postfix/var/run/saslauthd"
PARAMS="-m ${PWDIR}"
PIDFILE="${PWDIR}/saslauthd.pid"


위의 3줄을 추가 시켜 줍니다.

마지막으로 
OPTIONS=을 찾아서 아래 처럼 변경 시켜 주시면 그만입니다.

OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"





이제 끝이 보입니다.ㅎ

$sudo /etc/init.d/saslauthd start            saslauthd를 실행 시켜줍니다.

그런 다음
$sudo dpkg-statoverride --force --update --add root sasl 755 /var/spool/postfix/var/run/saslauthd

$sudo /etc/init.d/saslauthd restart          
saslauthd를 재시작 시켜줍니다.



courier IMAP와 POP3설치
$sudo apt-get install courier-pop
$sudo apt-get install courier-imap

Maildir 설정
$sudo maildirmake /etc/skel/Maildir
$sudo maildirmake /etc/skel/Maildir/.Drafts
$sudo maildirmake /etc/skel/Maildir/.Sent
$sudo maildirmake /etc/skel/Maildir/.Trash
$sudo maildirmake /etc/skel/Maildir/.Templates

각 사용자에 대해서
$sudo cp -r /etc/skel/Maildir /home/(우분투 사용자 계정)/
$sudo chown -R (유저이름):(유저가 속한 그룹)  /home/(우분투 사용자 계정)/Maildir
$sudo chmod -R 700 /home/(우분투 사용자 계정)/Maildir


자 이제 우분투 에볼루션 메일에서 계정 생성을 통해 각각을 설정해 주시기만 하면 계정 생성 완료 입니다.ㅎ



아래 그림처럼 하시면 끝~

수고 하셨습니다~.ㅎ

아래 magicpd@m7.dnip.net

magicpd는 유닉스 계정 아이디이고
@뒤에 m7.dnip.net는 제 계정임돠,ㅎ


VMware로 우분투 실행시 포트 개방 해주셔야 합니다~.ㅎ

그리고 고정 아이피로 잡아야 하고요ㅎ

vmware는 기본적으로 가상 아이피를 잡기 때문에 고정 아이피로 바꿔주시지 않으면 절대 안잡힙니다.


사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지


[출처] MagicPd's Story (http://magicpd.tistory.com/6)

반응형

댓글()

vqadmin 설치 (vpopmail web interface)

리눅스/Mail|2015. 1. 23. 09:32
반응형

1. vqadmin 설치

 

* vqadmin을 설치할 디렉토리 생성

# mkdir /home/vqadmin

# mkdir /home/vqadmin/cgi-bin

# mkdir /home/vqadmin/html

 

# wget http://www.inter7.com/vqadmin/vqadmin-2.3.7.tar.gz

# tar xvzf vqadmin-2.3.7.tar.gz

# cd vqadmin-2.3.7

# ./configure --enable-cgibindir=/home/vqadmin/cgi-bin --enable-htmldir=/home/vqadmin/html

# make && make install-strip

 

2. vqadmin 설정

 

# vi /home/vqadmin/cgi-bin/vqadmin/.htaccess

AuthType Basic

AuthUserFile /home/vqadmin/vqadmin.passwd (vqadmin 접속 아이디 및 비번 저장 파일 위치)

AuthName vQadmin

require valid-user

satisfy any 

* admin 접속 비번 저장

# /usr/local/apache/bin/htpasswd -bc /home/vqadmin/vqadmin.passwd admin 비밀번호

 

* .htaccess 파일 권한 수정

# chown 일반계정명:일반계정명 /home/vqadmin/cgi-bin/vqadmin/.htaccess

# chmod 644 /home/vqadmin/cgi-bin/vqadmin/.htaccess

 

3. Apache 가상호스트 설정


# vi /usr/local/apache/conf/extra/httpd-vhosts.conf 

 <VirtualHost *:80>

    ServerAdmin webmaster@test.example.com

    DocumentRoot "/home/vqadmin"

    ServerName vqadmin.test.com

 

    ScriptAlias /cgi-bin/ /home/vqadmin/cgi-bin/

 

    <Directory "/home/vqadmin/cgi-bin/vqadmin">

        deny from all

        Options +ExecCGI

        AllowOverride AuthConfig

        Order deny,allow

    </Directory>

</VirtualHost>

# /usr/local/apache/bin/apachectl restart

 

4. 웹 접속

 

* 브라우저에서 http://vqadmin.test.com/cgi-bin/vqadmin/vqadmin.cgi 접속

접속 아이디 : admin

접속 비번 : vqadmin.passwd에 설정한 비번 입력


반응형

댓글()

qmail 587 포트 추가하기

리눅스/Mail|2015. 1. 23. 09:32
반응형

1.  submission 구동 디렉토리 생성

아래 경로의 qmail-smtpd 디렉토리를 복사하여 qmail-smtpd-submission 디렉토리를 만듭니다.

[root@sysdocu ~]cp -arp /var/qmail/supervise/qmail-smtpd  /var/qmail/supervise/qmail-smtpd-submission

 

 

2. 심볼릭링크 파일 생성
[root@sysdocu ~]cd /service
[root@sysdocu service]ln -s /var/qmail/supervise/qmail-smtpd-submission/ qmail-smtpd-submission

 

 

3. 파일 내용 수정

아래 스크립트 파일을 열어 내용을 변경합니다.

[root@sysdocu service]vi /var/qmail/supervise/qmail-smtpd-submission/run

변경전 : 25

변경후 : 587

 

아래 스크립트 파일을 열어 내용을 변경합니다.

[root@sysdocu service]vi /service/qmail-smtpd-submission/log/run
변경전 : /var/log/qmail/smtpd

변경후 : /var/log/qmail/smtpd-submission

 

 

4. qmail 구동 스크립트 파일 수정

아래 파일을 열어 submission 구동 부분을 삽입합니다.

[root@sysdocu service]vi /etc/init.d/qmail

start) 부분

if [ -e /service/qmail-smtpd-submission ] ; then
        if svok /service/qmail-smtpd-submission ; then
            svc -u /service/qmail-smtpd-submission
        else
            echo qmail-smtpd-submission supervise not running
        fi
     else
        ln -s /var/qmail/supervise/qmail-smtpd-submission /service/
fi

 
stop) 부분
    echo "  qmail-smtpd-submission"
    svc -dx /service/qmail-smtpd-submission /service/qmail-smtpd-submission/log
    rm -f /service/qmail-smtpd-submission

 
stat) 부분
    svstat /service/qmail-smtpd-submission
    svstat /service/qmail-smtpd-submission/log

 
pause) 부분
    echo "Pausing qmail-smtpd-submission"
    svc -p /service/qmail-smtpd-submission

 
cont) 부분
    echo "Continuing qmail-smtpd-submission"
    svc -c /service/qmail-smtpd-submission

 
restart) 부분
    echo "* Stopping qmail-smtpd-submission."
    svc -d /service/qmail-smtpd-submission

 

 

5. iptables 수정

587 포트를 추가 합니다.

 

반응형

댓글()

Roundcubemail 패스워드 플러그인 사용하기

리눅스/Mail|2015. 1. 23. 09:31
반응형

vpopmail 과 MySQL 연동하는 메일서버 환경에서만 사용 가능합니다.

 

1. 파일 생성

라운드큐브메일이 설치된 디렉토리의 plugins/password 디렉토리로 이동합니다.

cd /home/sysdocu/public_html/webmail/plugins/password

 

샘플 파일로 설정파일을 만듭니다.

cp -arp config.inc.php.dist config.inc.php

 

 

2. 파일 내용 수정

config.inc.php 파일을 수정하여 아래 내용으로 변경, 삽입합니다.

 

$rcmail_config['password_driver'] = 'sql'; 
$rcmail_config['password_confirm_current'] = true;

$rcmail_config['password_db_dsn'] = 'mysql://vpopqmail:sysdocupasswd@localhost/vpopqmail';  // DB, 계정, 패스워드를 수정하세요. (패스워드에 골뱅이가 들어가면 안되므로 다른방식으로 설정해야합니다.)

 

// 아래 3줄은 멀티도메인 사용시 도메인을 구분하기위해 새로 입력한 부분입니다.

// 또한 webmail.sysdocu.com 과 같이 웹메일에 접속할 경우 webmail. 서브도메인을 제거하기 위한 작업도 있으니

// 사용하는 환경에 따라 코드를 수정하여 사용하세요.

$real_domain=$_SERVER["HTTP_HOST"];
$real_domain=str_replace('.', '_', $real_domain);
$real_domain=substr($real_domain, 8, 256);

 

$rcmail_config['password_query'] = "UPDATE $real_domain set pw_passwd=ENCRYPT(%p,concat("$1$",right(md5(rand()), 8),"$")),pw_clear_passwd=%p where pw_name=%l";

 

main.inc.php 파일을 열어 아래 내용으로 변경합니다.

# vi /home/sysdocu/public_html/webmail/config/main.inc.php

 

$rcmail_config['plugins'] = array('password');

 

반응형

댓글()

qmail 로 오픈된 110번 포트로 로그인이 되지 않을경우

리눅스/Mail|2015. 1. 23. 09:31
반응형

vpopmail 이 연동되어있는 qmail 로 아웃룩 접속을 시도했을때

아래와 같이 에러메세지가 나타날 경우가 있습니다.

이에 대한 해결 방법입니다.

 

[에러]

 

메일 서버에 로그온하는 데 문제가 있습니다. 지정한 암호가 거부되었습니다.
계정: 'mail.sysdocu.com', 
서버: 'mail.sysdocu.com', 
프로토콜: POP3, 
서버 응답: '/home/vpopmail/bin/vchkpw: error while loading shared libraries: libk5crypto.so.3: failed to map segment from shared object: Cannot allocate memory', 
포트: 110, 
보안(SSL): 아니오, 
서버 오류: 0x800CCC90, 
오류 번호: 0x800CCC92

 

 

[해결]

 

아래 파일의 내용을 수정합니다.

vi /var/qmail/supervise/vpop/run

 

기존의 softlimit -m 값을 높여서 저장하고 qmail 을 재시작하면 pop3 로그인이 가능해집니다.

(저는 30000000 값을 90000000 로 변경하였습니다.) 

exec /usr/local/bin/softlimit -m 90000000 tcpserver -vRHl 0 -u $VPOP_UID -g $VPOP_GID 0 110 /var/qmail/bin/qmail-popup sysdocu.com /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1

 

또 아웃룩으로 smtp 를 통해 메일을 발송한다면 아래 파일도 수정을 해줍니다.

 

vi /var/qmail/supervise/qmail-smtpd/run

 

exec /usr/local/bin/softlimit -m 90000000 /usr/local/bin/tcpserver -vRHl 0 -x /home/vpopmail/etc/tcp.smtp.cdb -u $Q_UID -g $Q_GID 0 25 /var/qmail/bin/qmail-smtpd sysdocu.com /home/vpopmail/bin/vchkpw /bin/true 2>&1

 

모든 설정작업 완료 후 qmail 을 재시작해줍니다.

반응형

댓글()

Sorry,_no_mailbox_here_by_that_name._(#5.1.1)

리눅스/Mail|2015. 1. 23. 09:31
반응형

[에러]

메일이 수신되지 않고 발송자에게 반송되어 갈때 메세지입니다.

Sorry, no mailbox here by that name. (#5.1.1)

 

[해결1]

/var/qmail/control/locals 파일에서 등록도메인 리스트는 삭제하고

localhost 라고 입력후 qmail 을 재시작 합니다.

 

[해결2]

우선 메일을 백업해놓고 계정 및 도메인을 삭제, 재생성 합니다.

그 후에 백업했던 메일을 복원합니다.

 

[해결3]

파티션 변경이나 사이트 이전등의 작업을 진행하였을 경우 아래 파일이 누락되는경우가 있습니다.

신규 메일계정 생성 후에도 메일 수신이 안된다면 아래 파일을 확인, 생성해보세요.

 

위치 : /home/vpopmail/domains/sysdocu.com/

-rw------- 1 vpopmail vchkpw   55  7월  3 16:42 .qmail-default    // 꼭 있어야 하는 파일

-rw------- 1 vpopmail vchkpw   18  7월  3 16:42 .qmail-mailer-daemon

-rw------- 1 vpopmail vchkpw   18  7월  3 16:42 .qmail-postmaster

-rw------- 1 vpopmail vchkpw   18  7월  3 16:42 .qmail-root

 

각 파일의 내용입니다.

.qmail-default

| /home/vpopmail/bin/vdelivermail '' bounce-no-mailbox

 

.qmail-mailer-daemon

admin@sysdocu.com

 

.qmail-postmaster

admin@sysdocu.com

 

.qmail-root

admin@sysdocu.com


반응형

댓글()