메일서버 관련 내용입니다.

mold76의 이미지

안녕하세요. 다름이 아니고 mail 함수를 이용해서 웹매거진 형식의 메일들을 발송을 했었습니다. 그런데 오늘 보니까
메일이 안갑니다. 몇일전에 서버를 재부팅한적이 있었긴 하지만 예전에도 자주는 아니지만 가끔식 재부팅을 했었는데
그때는 이상이 없었던것 같습니다. 현재 네임서버+웹서버+DB서버 이렇게 구성되어 있고 메일서버는 네임서버에 설치
되어 있습니다. 하지만 위의 웹매거진 메일은 웹서버에서 php함수인 mail 함수를 사용해서 날렸었습니다. 전에는 이상
없이 되었습니다. 현재 회사 메일로는 메일발송이 되었었습니다. 그리고 네이버 메일은 발송이 되었습니다. 그런데
hanmail.net , lycos.co.kr 메일은 발송이 안됩니다. 예전에 lycos.co.kr 메일로 확인을 했었는데 이상이 없었는데
오늘은 안됩니다. 아래는 메일 로그 입니다.

사용한 계정은 abcd@hanmail.net,abcd@lycos.co.kr,abcd@naver.com 과 회사메일 abcd@woori.co.kr 입니다.
(그냥 예를 들어놓은 이메일들입니다. 실제 이메일 계정은 틀립니다. ㅡ.,ㅡ)

발송안되었던 메일 로그 ####################
Jun 23 10:30:43 localhost sendmail[10401]: k5N1UhvW010401: from=apache, size=111, class=0, nrcpts=1, msgid=<200606230130.k5N1UhvW010401@localhost.localdomain>, relay=apache@localhost
Jun 23 10:30:43 localhost sendmail[10403]: k5N1UhZI010403: from=, size=347, class=0, nrcpts=1, msgid=<200606230130.k5N1UhvW010401@localhost.localdomain>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
Jun 23 10:30:43 localhost sendmail[10401]: k5N1UhvW010401: to=abcd@lycos.co.kr, ctladdr=apache (48/48), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30105, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (k5N1UhZI010403 Message accepted for delivery)
Jun 23 10:30:43 localhost sendmail[10405]: k5N1UhZI010403: to=, ctladdr= (48/48), delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=30341, relay=kr-inmail.lycos.co.kr. [203.226.255.61], dsn=4.0.0, stat=Deferred: 421 4.5.4 EHLO domain is invalid.

Jun 23 10:31:43 localhost sendmail[10411]: k5N1VhK7010411: to=abcd@hanmail.net, ctladdr=apache (48/48), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30105, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (k5N1VhZI010413 Message accepted for delivery)
Jun 23 10:31:44 localhost sendmail[10415]: k5N1VhZI010413: to=, ctladdr= (48/48), delay=00:00:01, xdelay=00:00:01, mailer=esmtp, pri=30341, relay=mx2.hanmail.net. [211.43.197.78], dsn=4.0.0, stat=Deferred: 441 4.4.1 temporay dns failed
Jun 23 10:32:03 localhost sendmail[10416]: k5N1W3Po010416: from=apache, size=111, class=0, nrcpts=1, msgid=<200606230132.k5N1W3Po010416@localhost.localdomain>, relay=apache@localhost
Jun 23 10:32:04 localhost sendmail[10418]: k5N1W3ZI010418: from=, size=347, class=0, nrcpts=1, msgid=<200606230132.k5N1W3Po010416@localhost.localdomain>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]

발송되었던 메일 로그 ####################
Jun 23 10:34:37 localhost sendmail[10423]: k5N1Yb7K010423: to=abcd@woori.co.kr, ctladdr=apache (48/48), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30103, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (k5N1YbZI010425 Message accepted for delivery)
Jun 23 10:34:37 localhost sendmail[10427]: k5N1YbZI010425: to=, ctladdr= (48/48), delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=30339, relay=mail.ebit.co.kr. [222.122.148.104], dsn=2.0.0, stat=Sent (k5N1ggLa024475 Message accepted for delivery)
Jun 23 10:44:15 localhost sendmail[10438]: k5N1iDZI010438: from=, size=347, class=0, nrcpts=1, msgid=<200606230144.k5N1iDgV010436@localhost.localdomain>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]

Jun 23 10:31:20 localhost sendmail[10406]: k5N1VKdM010406: from=apache, size=109, class=0, nrcpts=1, msgid=<200606230131.k5N1VKdM010406@localhost.localdomain>, relay=apache@localhost
Jun 23 10:31:20 localhost sendmail[10408]: k5N1VKZI010408: from=, size=345, class=0, nrcpts=1, msgid=<200606230131.k5N1VKdM010406@localhost.localdomain>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
Jun 23 10:31:20 localhost sendmail[10406]: k5N1VKdM010406: to=abcd@naver.com, ctladdr=apache (48/48), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30103, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (k5N1VKZI010408 Message accepted for delivery)
Jun 23 10:31:20 localhost sendmail[10410]: k5N1VKZI010408: to=, ctladdr= (48/48), delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=30339, relay=rcvmail7.naver.com. [211.218.150.77], dsn=2.0.0, stat=Sent (2.5.0 Message accepted for delivery)

그런데 /var/spool/mqueue 에 파일들이 엄청 많이 있었습니다. 그래서 mqueue 디렉토리를 통채로 삭제하고 전에 대로 다시 생성해놨습니다.
생성한 mqueue 디렉토리는 아래와 같습니다. (예전 소유권과 모든것을 동일하게 생성했습니다)
drwx------ 2 root mail 4096 6월 23 10:50 mqueue
그런데 이 작업을 하고 난후 다시 메일을 발송했는데 아까 위에서 되었던 회사메일과 naver.com 메일로도 메일이 발송이 안됩니다.
관련 로그는 아래와 같습니다.

Jun 23 11:07:30 localhost sendmail[10466]: k5N27UGT010466: to=abcd@lycos.co.kr, ctladdr=apache (48/48), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30105, relay=[127.0.0.1] [127.0.0.1], dsn=4.0.0, stat=Deferred: 421 4.3.0 collect: Cannot write ./dfk5N27UZI010468 (bfcommit, uid=0, gid=51): No such file or directory
Jun 23 11:08:15 localhost sendmail[10473]: k5N28FJt010473: from=apache, size=5510, class=0, nrcpts=1, msgid=<200606230208.k5N28FJt010473@localhost.localdomain>, relay=apache@localhost
Jun 23 11:08:15 localhost sendmail[10475]: k5N28FZI010475: SYSERR(root): collect: Cannot write ./dfk5N28FZI010475 (sm_io_flush||sm_io_error, uid=0, gid=51): Input/output error
Jun 23 11:08:15 localhost sendmail[10475]: k5N28FZI010475: from=, size=5746, class=0, nrcpts=1, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
Jun 23 11:08:15 localhost sendmail[10473]: k5N28FJt010473: to=\377\377\377\377\377\377 , ctladdr=apache (48/48), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30138, relay=[127.0.0.1] [127.0.0.1], dsn=4.0.0, stat=Deferred: 421 4.3.0 collect: Cannot write ./dfk5N28FZI010475 (sm_io_flush||sm_io_error, uid=0, gid=51): Input/output error
Jun 23 11:09:43 localhost sendmail[10476]: k5N29hRh010476: from=apache, size=109, class=0, nrcpts=1, msgid=<200606230209.k5N29hRh010476@localhost.localdomain>, relay=apache@localhost
Jun 23 11:09:43 localhost sendmail[10478]: k5N29hZI010478: SYSERR(root): collect: Cannot write ./dfk5N29hZI010478 (bfcommit, uid=0, gid=51): No such file or directory
Jun 23 11:09:43 localhost sendmail[10478]: k5N29hZI010478: from=, size=345, class=0, nrcpts=1, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
Jun 23 11:09:43 localhost sendmail[10476]: k5N29hRh010476: to=abcd@naver.com, ctladdr=apache (48/48), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30103, relay=[127.0.0.1] [127.0.0.1], dsn=4.0.0, stat=Deferred: 421 4.3.0 collect: Cannot write ./dfk5N29hZI010478 (bfcommit, uid=0, gid=51): No such file or directory
Jun 23 11:26:59 localhost sendmail[10500]: k5N2QxZI010500: SYSERR(root): collect: Cannot write ./dfk5N2QxZI010500 (bfcommit, uid=0, gid=51): No such file or directory
Jun 23 11:26:59 localhost sendmail[10500]: k5N2QxZI010500: from=, size=345, class=0, nrcpts=1, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
Jun 23 11:26:59 localhost sendmail[10498]: k5N2Qui4010498: to=abcd@ebit.co.kr, ctladdr=apache (48/48), delay=00:00:03, xdelay=00:00:00, mailer=relay, pri=30103, relay=[127.0.0.1] [127.0.0.1], dsn=4.0.0, stat=Deferred: 421 4.3.0 collect: Cannot write ./dfk5N2QxZI010500 (bfcommit, uid=0, gid=51): No such file or directory

위에서 회사 메일은 위에 언급한대로 네임서버상에 붙어있는 메일서버를 사용하고 있어서 실제로 지금 메일이 발송이
안되는 웹서버와는 별개의 것입니다. 현재 위와 같은 상황입니다.
현재 상황이 php함수인 mail 함수를 사용해서 메일 발송이 안되는것이 문제 이거든요.
이럴때는 어떻게 해야 할까요? 조언 좀 부탁드립니다 (__)

dormael의 이미지

우선 큐 디렉토리 지우고 다시 시도하신 로그에 보면

Cannot write ./dfk5N2QxZI010500 (bfcommit, uid=0, gid=51): No such file or directory

sendmail프로세스가 큐 디렉토리에 쓰기 권한이 없어서 발생하는 문제 같습니다.
mqueue디렉토리에 sendmail프로세스의 owner가 쓰기 권한을 갖도록 권한 변경을 하셔야 합니다.

그리고 발송되는 메일로그와 안되는 메일로그를 비교해 보면 두가지 가능성이 있겠네요.

421 4.5.4 EHLO domain is invalid.

혹은
441 4.4.1 temporay dns failed

인데 제가 sendmail이나 smtp프로토콜을 정확히 몰라서 대강 짐작만 해본다면 dns서버가 제대로 작동하고 있지 않을 가능성 혹은 도메인이 만료되었을 가능성이 있을 수 있고 sendmail서버가 자신의 도메인을 제대로 인식하고 있지 못할 가능성이 있습니다.

-- Signature --
青い空大好き。
蒼井ソラもっと好き。
파란 하늘 너무 좋아.
아오이 소라 더좋아.

mold76의 이미지

댓글이 너무 늦었습니다.
정확한 이유를 잘 모르겠습니다. 현재 위와같은 상황에서 mqueue 소유권 및 관련 내용들을 다 변경해보았는데
똑같은 증상이 나타났습니다. 결국에는 이전 그대로 소유권을 바꾸고 센드메일을 재시작 시켰습니다.
현재는 제대로 발송이 되는것 같습니다.
전에도 다 작업한 후에 센드메일을 재시작 시켰던것 같은데 이번에 재시작 시키니까 되네요. ㅡ.,ㅡ
lycos.co.kr 메일로는 아직도 안갑니다. 해당메일업체에서
스팸정책이 조금 바뀌지 않았나 라는 생각이 듭니다.
좀 허무하기도 하고 어쨌든 현재는 되서 다행이라는 생각만 드네요.
친절하신 답변 감사합니다. 복 받으세요 감사합니다. ^^

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.