시스템관리자의 쉼터 커피닉스 커피향이 나는 *NIX
커피닉스
시스템/네트웍/보안을 다루는 곳
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

가입없이 누구나 글을 쓸 수 있습니다. 공지사항에 대한 댓글까지도..




BBS >> 설치, 운영 Q&A | 네트웍, 보안 Q&A | 일반 Q&A || 정보마당 | AWS || 자유게시판 | 구인구직 || 공지사항 | 의견제시
[sendmail설치]php에서 전체 메일 발송용..

 
글 쓰기   답변 달기    커피닉스, 시스템 엔지니어의 쉼터 게시판 인덱스 -> 시스템 설치 및 운영
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
bird72



가입: 2003년 9월 24일
올린 글: 77

올리기올려짐: 2003.12.31 수, 2:02 pm    주제: [sendmail설치]php에서 전체 메일 발송용.. 인용과 함께 답변

안녕하세요...

오늘이 벌써 2003년의 마지막이네요...^^;;

근데... 스킬은 늘은것이 없고...쩝... 머하고 살았나... T.T

각설하고...

센드메일을 설치하려고 합니다.

물론 이유는 제목처럼 php에서 사이트 회원들에게 메일을 발송하기 위해서입니다.

리눅스를 기본적으로 설치했을 경우 (레드햇 9.0) 센드메일 데본은 실행은 되는데... php에서 메일을 발송하기 위해서 쓰는 sendmail이라는 명령어가
생성이 되지 않네요...

데몬이 아닌 php에서 회원들에게 메일을 발송하기 위해 설치하려면 어떻게 하나요???

대부분 /usr/sbin/sendmail이란 명령어를 호출해서 메일을 보내던데...

고수님의 도움을 간절히 기다리겠습니다...
_________________
ilovesusu
위로
사용자 정보 보기 비밀 메시지 보내기 MSN 메신저
truefeel
카페 관리자


가입: 2003년 7월 24일
올린 글: 1277
위치: 대한민국

올리기올려짐: 2003.12.31 수, 2:26 pm    주제: Re: php에서 전체 메일 발송 관련 인용과 함께 답변

bird72님의 질문이 올라오니 정말 반갑습니다.
현재 세들어 살고 있는 IDC 서버(?)에 회선 문제로 임시 서버로 옮겨 서비스를 하고 있고 있습니다.
네임서버 변경 신청했는데 적용이 상당히 느려, 접속이 안되는 곳이 많거든요. ^^

---------------------------

sendmail 데몬이 띄어져 있다면 이미 sendmail은 설치하신거네요. ^^
띄여있는 sendmail 데몬이라는 것은 sendmail 에 -bd -q시간 옵션을 주어서 띄우는 것입니다.

php.ini에 sendmail 경로 설정(sendmail_path)하는 부분이 있으니 그 부분을 확인해보세요.
php.ini가 어느 경로에 있는지 모른다면,
test.php에

코드:

<? phpinfo(); ?>


를 넣고 실행하면 어느 경로에 있는 것인지 확인할 수 있습니다.
물론 발송 테스트 후에 /var/log/maillog도 확인해보시구요.

새해 복 많이 받으세요.
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문
bird72



가입: 2003년 9월 24일
올린 글: 77

올리기올려짐: 2003.12.31 수, 4:59 pm    주제: [질문] sendmail 관련 질문 2 인용과 함께 답변

안녕하세요..^^

먼저 저를 기억해주시다니..ㅠ.ㅠ 정말 감사합니다..

제가 질문하는 것이 워낙... 초보수준이라... 기억못하신다고 생각했는데...

혹시... 워낙 초보질문이라... 기억하시나.. ㅡ.ㅡ;;;;

암튼 누군가 저를 알아봐 준다는 거에 대해서 정말 기쁩니다..

흠...

일단 php.ini에서 경로를 살펴보았는데요....

/usr/sbin/sendmail로 되어있었습니다.

사실..이번에 서버에 하드적 에러가 나서 서버를 이전하는 관계로 이런문제가 생겼거든요...

분명히 센드메일은 설치가 되어있는데.... 데몬상태로 메일을 전송하는 것은 아니고... /usr/sbin/sendmail이라는 명령어가 있어 이를 실행해서 메일을 보내는 방식이었습니다.

그런데... 데몬은 있는데... 데몬 실행도 되지만.... 아무리 서버를 뒤져봐도..

sendmail이라는 실행화일이 없다는 것이죠...

전에 서버에서는 '/usr/sbin/sendmail' 이라는 파일이라는 것이 있었거든요...

그런데 새로 설치한 서버에는 '/usr/sbin/sendmail.sendmail' 이라는 파일과

sendmail이라는 링크가 하나 있더군요...

이것을 어떻게 하라는 것인지..ㅡㅡ;;

폼메일에서 메일을 보내는 것도 같은 방식이던데...

전혀 모르겠습니다.

그래서.. rpm으로 설치되어 있던 센드메일을 전부 삭제하고 새로 설치하려고

준비중인데...

어떻게 해야할지..ㅡ.ㅡ;;; 감이안와서....ㅠ.ㅠ

어떻게 해야하지요?? '/usr/sbin/sendmail' 이라는 바이너리 파일로 메일을 전송하게 하려면....

추신: 새해 복 배터지게 많이 받으세요...^^
_________________
ilovesusu
위로
사용자 정보 보기 비밀 메시지 보내기 MSN 메신저
truefeel
카페 관리자


가입: 2003년 7월 24일
올린 글: 1277
위치: 대한민국

올리기올려짐: 2003.12.31 수, 5:28 pm    주제: Re: [질문] sendmail 관련 질문 2 인용과 함께 답변

bird72 씀:
안녕하세요..^^

먼저 저를 기억해주시다니..ㅠ.ㅠ 정말 감사합니다..

제가 질문하는 것이 워낙... 초보수준이라... 기억못하신다고 생각했는데...

혹시... 워낙 초보질문이라... 기억하시나.. ㅡ.ㅡ;;;;

암튼 누군가 저를 알아봐 준다는 거에 대해서 정말 기쁩니다..


당연히 잊을 수 없지요.
bird72님이 바로 다른 커피닉서에게 도움이 되는 분인데요.
bird72님이 궁금하고 부딪쳤던 문제들이 다른 커피닉서에게도 일어날 법한 것들이거든요.
그러니까 먼저 나서서 물어본 것이다라고 생각하시면 될 것입니다.

bird72 씀:

흠...

일단 php.ini에서 경로를 살펴보았는데요....

/usr/sbin/sendmail로 되어있었습니다.

사실..이번에 서버에 하드적 에러가 나서 서버를 이전하는 관계로 이런문제가 생겼거든요...

분명히 센드메일은 설치가 되어있는데.... 데몬상태로 메일을 전송하는 것은 아니고... /usr/sbin/sendmail이라는 명령어가 있어 이를 실행해서 메일을 보내는 방식이었습니다.

그런데... 데몬은 있는데... 데몬 실행도 되지만.... 아무리 서버를 뒤져봐도..

sendmail이라는 실행화일이 없다는 것이죠...

전에 서버에서는 '/usr/sbin/sendmail' 이라는 파일이라는 것이 있었거든요...

그런데 새로 설치한 서버에는 '/usr/sbin/sendmail.sendmail' 이라는 파일과

sendmail이라는 링크가 하나 있더군요...

이것을 어떻게 하라는 것인지..ㅡㅡ;;

폼메일에서 메일을 보내는 것도 같은 방식이던데...

전혀 모르겠습니다.

그래서.. rpm으로 설치되어 있던 센드메일을 전부 삭제하고 새로 설치하려고

준비중인데...

어떻게 해야할지..ㅡ.ㅡ;;; 감이안와서....ㅠ.ㅠ

어떻게 해야하지요?? '/usr/sbin/sendmail' 이라는 바이너리 파일로 메일을 전송하게 하려면....

추신: 새해 복 배터지게 많이 받으세요...^^


메일 송신에는 sendmail 데몬이 띄어있을 필요없습니다.
굳히 말씀드린 것은 데몬이 띄어있다니 sendmail은 설치가 되신거구나하고 말씀드린 것입니다.
그리고 Redhat9에서 /usr/sbin/sendmail이 심볼릭링크된 것이 맞습니다.
이게 다시 sendmail.sendmail로 되어 있습니다.
다음과 같이 해보세요.

코드:

sendmail_path = /usr/sbin/sendmail -t -i 또는
sendmail_path = /usr/sbin/sendmail.sendmail -t -i
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문
bird72



가입: 2003년 9월 24일
올린 글: 77

올리기올려짐: 2003.12.31 수, 5:41 pm    주제: ㅠ.ㅠ 실행하기 전에 물어보고 할 것을...... 인용과 함께 답변

안녕하세요..ㅠ.ㅠ

쩝..

행동하기 전에 먼저 물어보고 행할 것을...

무지의 소치가 손발을 고생하게 하네요...

전 그런것도 모르고 걍 전부 깨끗이 날려버렸답니다....

설치된 sendmail을 몽땅... 휴우....

지금부터 다시 설치를 해야할 것인데...

쩝...

망망하네요....

어케 다시 해야하는지...

설치법에 대한 문서도 전부 신통치 않고....

책도 버젼별로 나와있어서 전부 구버젼이네요....

에구구....

혹시..아시는 설치법이라도..;;;;;
_________________
ilovesusu
위로
사용자 정보 보기 비밀 메시지 보내기 MSN 메신저
플릭
손님





올리기올려짐: 2003.12.31 수, 5:51 pm    주제: Re: ㅠ.ㅠ 실행하기 전에 물어보고 할 것을...... 인용과 함께 답변 글 편집/삭제

레드햇 CD에서 sendmail 패키지를 찾아 설치하면 되겠는데요.

rpm -ivh sendmail-8.12.8-9.90.rpm sendmail-cf-8.12.8-9.90.rpm
위로
bird72



가입: 2003년 9월 24일
올린 글: 77

올리기올려짐: 2003.12.31 수, 9:24 pm    주제: [rpm설치]rpm --import /usr/share/rhn/RPM-GPG-KEY 가 어떻게 ? 인용과 함께 답변

답변 정말 감사합니다.

그런데 말씀하신 것중에..

rpm --import /usr/share/rhn/RPM-GPG-KEY 로 설치를 하라고 하셨는데..

저는 잘 이해를 못하겠습니다.

물론 gnupg-1.2.1-9 는 설치가 되어있습니다.

또...

php.ini에서

For Unix only. You may supply arguments as well (default: "sendmail -t -i").
"sendmail_path = " <-- 여기에 아무것도 써있지 않은데.....

test.php에서는

sendmail_path | /usr/sbin/sendmail -t -i | /usr/sbin/sendmail -t -i

일게 나옵니다.

이것도 정상인가요??

그런데 실질적으로 /usr/sbin/에는 sendmail 링크 파일과 sendmail.sendmail 이라는 파일 두개가 있는데...

/usr/sbin/sendmail -t -i <-- 여기서 말하는 파일이 어느것인가요???

다른 서버에는 sendmail이라는 바이너리 파일만 있던데...

쩝...
_________________
ilovesusu
위로
사용자 정보 보기 비밀 메시지 보내기 MSN 메신저
truefeel
카페 관리자


가입: 2003년 7월 24일
올린 글: 1277
위치: 대한민국

올리기올려짐: 2003.12.31 수, 10:18 pm    주제: Re: [rpm설치] rpm키 설치와 sendmail 인용과 함께 답변

bird72 씀:
답변 정말 감사합니다.

그런데 말씀하신 것중에..

rpm --import /usr/share/rhn/RPM-GPG-KEY 로 설치를 하라고 하셨는데..

저는 잘 이해를 못하겠습니다.

물론 gnupg-1.2.1-9 는 설치가 되어있습니다.


코드:

# rpm --import /usr/share/rhn/RPM-GPG-KEY


이렇게 보여드리면 이해하실려나.. sig. 검증할 때 사용할 KEY를 설치한다는 것입니다.

bird72 씀:


또...

php.ini에서

For Unix only. You may supply arguments as well (default: "sendmail -t -i").
"sendmail_path = " <-- 여기에 아무것도 써있지 않은데.....

test.php에서는

sendmail_path | /usr/sbin/sendmail -t -i | /usr/sbin/sendmail -t -i

일게 나옵니다.

이것도 정상인가요??


예. 정상입니다.
/usr/sbin/sendmail 으로 인식했다면 수정하실 필요없네요.

bird72 씀:

그런데 실질적으로 /usr/sbin/에는 sendmail 링크 파일과 sendmail.sendmail 이라는 파일 두개가 있는데...

/usr/sbin/sendmail -t -i <-- 여기서 말하는 파일이 어느것인가요???

다른 서버에는 sendmail이라는 바이너리 파일만 있던데...

쩝...


/usr/sbin/sendmail 이 /usr/sbin/sendmail.sendmail 로 링크된 것이니 같은 것으로 생각하면 됩니다.
그리고 Redhat 8에서는 어쨌는지 몰겠으나 Redhat 9에서는 다른 MTA를 생각하고 심볼릭 링크를 하는 것 같습니다.
Redhat 7.x에서는 저런 형태는 아니였죠.

php.ini 설정으로는 뭐 하실게 없으니
소스나 메일 보낸 후 /var/log/maillog 등의 로그가 있는지 등을 살펴보세요.


※ 제가 로긴을 해둔 상태로 자리를 비웠군요. ^^
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문
bird72



가입: 2003년 9월 24일
올린 글: 77

올리기올려짐: 2003.12.31 수, 10:26 pm    주제: [메일로그] Connection refused by [127.0.0.1] 인용과 함께 답변

정말 저땜시... 2003년의 마지막을... 일케 보내시는 것은 아닌지..

다른 것은 다 해결이 된 것 같아...

메일 발송 테스트를 해보고 로그를 살펴보았습니다.

역시나...

Dec 31 22:21:23 host sendmail[16233]: hBVDLNHe016233: to=bird72@aaa.com, ctladdr=webmaster@xxx.com (99/99), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30271, relay=[127.0.0.1] [127.0.0.1], dsn=4.0.0, stat=Deferred: Connection refused by [127.0.0.1]

커넥션이 거절이 되더군요...

그래서...

access에 설정하고...

makemap hash /etc/mail/access.db < /etc/mail/access 로서 마무리를 지었습니다.

stinrgs access.db를 해보면... 아래와 같이 나오는데...

RELAY
localhost.localdomain
RELAY
127.0.0.1
RELAY
localhost

왜 커넥션이 거절될까요??

몰론 local-host-names 도 해당 도메인을 xxx.com의 도메인을 등록해놓았습니다.

참고로 본 메일서버는 발송용 메일서버이며 스팸메일을 다량으로 발송하는 서버가 아닙니다.
_________________
ilovesusu
위로
사용자 정보 보기 비밀 메시지 보내기 MSN 메신저
truefeel
카페 관리자


가입: 2003년 7월 24일
올린 글: 1277
위치: 대한민국

올리기올려짐: 2003.12.31 수, 10:48 pm    주제: Re: [메일로그] Connection refused by [127.0.0.1] 인용과 함께 답변

bird72 씀:

다른 것은 다 해결이 된 것 같아...

메일 발송 테스트를 해보고 로그를 살펴보았습니다.

역시나...

Dec 31 22:21:23 host sendmail[16233]: hBVDLNHe016233: to=bird72@aaa.com, ctladdr=webmaster@xxx.com (99/99), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30271, relay=[127.0.0.1] [127.0.0.1], dsn=4.0.0, stat=Deferred: Connection refused by [127.0.0.1]

커넥션이 거절이 되더군요...



sendmail 데몬을 사용하나 본데요. sendmail을 띄워보실래요.
# /etc/rc.d/init.d/sendmail start

처음 질문 올라올 때 데몬도 띄워져 있었다고 하셨는데...
그 때는 왜 안보내졌을까요. 메일로그 다른 것 없는지 궁금해집니다.

혹시 이 서버를 외부의 메일 수신할 용도로도 사용한다면 sendmail.cf에서 다음을 수정하세요.

인용:

O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA 대신
O DaemonPortOptions=Port=smtp, Name=MTA 으로
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문
bird72



가입: 2003년 9월 24일
올린 글: 77

올리기올려짐: 2003.12.31 수, 11:06 pm    주제: [메일로그] Losing ./qfhBVE78Kv016496: savemail panic 인용과 함께 답변

sendmail데몬을 띄우고 메일 전송을

Function nmail($fromaddress, $fromname, $toaddress, $subject, $body, $headers)
{
$fp = popen('/usr/sbin/sendmail -t -f '.$fromaddress.' '.$toaddress,"w");
if(!$fp)
{
echo "실패";
return false;
}
fputs($fp, "From:".$fromname."<".$fromaddress.">\r\n");
fputs($fp, "To: $toaddress\r\n");
fputs($fp, "Subject: ".$subject."\r\n");
fputs($fp, $headers."\r\n");
fputs($fp, $body);
fputs($fp, "\r\n\r\n\r\n");
pclose($fp);
return true;
}

위와 같은 함수로 발송을 했습니다...

그런데 메일로그에는 아래와 같이 남네요...

Dec 31 23:07:08 host sendmail[16496]: hBVE78Kv016496: Losing ./qfhBVE78Kv016496: savemail panic
Dec 31 23:07:08 host sendmail[16496]: hBVE78Kv016496: SYSERR(nobody): savemail: cannot save rejected email anywhere
_________________
ilovesusu
위로
사용자 정보 보기 비밀 메시지 보내기 MSN 메신저
truefeel
카페 관리자


가입: 2003년 7월 24일
올린 글: 1277
위치: 대한민국

올리기올려짐: 2003.12.31 수, 11:31 pm    주제: Re: [메일로그] Losing ... savemail panic 인용과 함께 답변

bird72 씀:
sendmail데몬을 띄우고 메일 전송을

Function nmail($fromaddress, $fromname, $toaddress, $subject, $body, $headers)
{
$fp = popen('/usr/sbin/sendmail -t -f '.$fromaddress.' '.$toaddress,"w");
if(!$fp)
{
echo "실패";
return false;
}
fputs($fp, "From:".$fromname."<".$fromaddress.">\r\n");
fputs($fp, "To: $toaddress\r\n");
fputs($fp, "Subject: ".$subject."\r\n");
fputs($fp, $headers."\r\n");
fputs($fp, $body);
fputs($fp, "\r\n\r\n\r\n");
pclose($fp);
return true;
}

위와 같은 함수로 발송을 했습니다...


이렇게 라면 sendmail을 직접 다루는 것이니 php.ini의 sendmail 경로와는 상관이 없네요.

저런식 말고 php에 mail() 함수가 있거든요. 그거 사용해보는 것도 고려를.

이 소스를 그대로 쓴다면 다음과 같이 바꿔서 해보실래요. -f 로 송신자 메일 주소 쓰는 부분이 옳은 것 같지는 않아보입니다.
코드:

   $fp = popen('/usr/sbin/sendmail -t ',"w");


bird72 씀:

그런데 메일로그에는 아래와 같이 남네요...

Dec 31 23:07:08 host sendmail[16496]: hBVE78Kv016496: Losing ./qfhBVE78Kv016496: savemail panic
Dec 31 23:07:08 host sendmail[16496]: hBVE78Kv016496: SYSERR(nobody): savemail: cannot save rejected email anywhere


truefeel 씀:

물론 발송 테스트 후에 /var/log/maillog도 확인해보시구요.


제일 처음에 답변한 것인데,
maillog에 저런 로그가 그 때(이 로그는 현재 로그지만)도 남았었다면 이렇게 리플이 많이달리지는 않았을거라는 안타까움이 남네요.

저게 mailqueue에 메일을 전송전에 임시로 저장을 못한다는 의미인 것 같은데요. (추측입니다.)
/var/spool 쪽의 파티션이 풀은 아니겠죠?
queue 디렉토리의 퍼미션문제일 수도 있겠구요. 참고로 Redhat 9는 이렇게 되어 있네요.

코드:

drwxrwx---    2 smmsp    smmsp        4096 12월 31 23:25 clientmqueue
drwx------    2 root     mail         4096 12월 31 22:41 mqueue


웹이 아니고 쉘에서 메일 보낼 때는 어쩐지 확인해보시구요.
쉘에서 보내진다면야 웹 프로그램의 문제겠지요.

# mail -v 메일주소
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문
bird72



가입: 2003년 9월 24일
올린 글: 77

올리기올려짐: 2003.12.31 수, 11:59 pm    주제: [메일에러] 샌드메일에서.... 인용과 함께 답변

mail()함수를 쉘에서 사용해서 발송해도 마찬가지로 아래 로그가 남네요...

에구... 힘드네...

Dec 31 23:51:15 host sendmail[16845]: hBVEpFwH016845: from=root, size=107, class=0, nrcpts=1, msgid=<200312311451.hBVEpFwH016845@host.aaa.com>, relay=root@localhost
Dec 31 23:51:15 host sendmail[16845]: hBVEpFwH016845: to=bird72@aaa.com, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30044, relay=[127.0.0.1] [127.0.0.1], dsn=4.0.0, stat=Deferred: Connection refused by [127.0.0.1]
_________________
ilovesusu
위로
사용자 정보 보기 비밀 메시지 보내기 MSN 메신저
truefeel
카페 관리자


가입: 2003년 7월 24일
올린 글: 1277
위치: 대한민국

올리기올려짐: 2004.1.01 목, 12:05 am    주제: Re: [메일에러] 샌드메일에서.... 인용과 함께 답변

bird72 씀:
mail()함수를 쉘에서 사용해서 발송해도 마찬가지로 아래 로그가 남네요...

에구... 힘드네...

Dec 31 23:51:15 host sendmail[16845]: hBVEpFwH016845: from=root, size=107, class=0, nrcpts=1, msgid=<200312311451.hBVEpFwH016845@host.aaa.com>, relay=root@localhost
Dec 31 23:51:15 host sendmail[16845]: hBVEpFwH016845: to=bird72@aaa.com, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30044, relay=[127.0.0.1] [127.0.0.1], dsn=4.0.0, stat=Deferred: Connection refused by [127.0.0.1]


이건 이미 위에서 설명한 에러입니다.

메시지 보냈으니 한 번 읽어보세요. 저 위에 메시지 읽는 메뉴 있습니다.
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문
이전 글 표시:   
글 쓰기   답변 달기    커피닉스, 시스템 엔지니어의 쉼터 게시판 인덱스 -> 시스템 설치 및 운영 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 있습니다
주제를 수정할 수 있습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB © 2001, 2005 phpBB Group