mailhandler 모듈로 외부 메일 가져올 때 warning: imap_open() [function.imap-open]: Couldn't open stream 에러가 나오면

제목이 길다.

메일핸들러를 이용해서 외부 메일을 입수, 노드화할 때
warning: imap_open() [function.imap-open]: Couldn't open stream {server}.......in mailhandler.module on line 193

이런 에러가 나온다면,
십중팔구 다음과 같이 해결가능하다.

해당 메일박스 설정 항목 중에,
Extra commands section
가 있는 곳에

/novalidate-cert

설정하면 해결된다.

* 경고 메시지에 있는 imap-open은 함수명으로,
해당 메일박스 설정 중 POP를 선택했을 때도 나올 수 있다.

참고 - http://drupal.org/node/505148

메일 서비스/서버 종류에 따라 엑스트라 커맨드를 달리 할 수 있다.
Connection "Extra Commands" for Different Hosts
http://drupal.org/node/207366

No votes yet

댓글

메일 핸들러의 Add

메일 핸들러의 Add MailBox 설정시,
간혹 실수하는 것으로 HTML 형태를 선택한 뒤에
Security 를 체크 온 해 버리는 것이다.

이런 경우, 수신은 되지만 "노드"로 저장이 되지 않는다.

이 모듈은 정상

이 모듈은 정상 작동을 가능하기 어려운 경우가 있는데,
이럴 때는 해당 서버에 아래 소스를 넣은 다음에 순수 PHP로 메일 박스를 점검해 보자.

// $url = "pop.gmail.com:995/pop3/ssl/novalidate-cert";
$url = "메일서버주소/pop3/novalidate-cert";
$mbox = imap_open("{".$url."}INBOX", "메일계정@도메인", "메일암호");

echo "<h1>메일박스</h1>\n";
$folders = imap_listmailbox($mbox, "{".$url."}INBOX", "*");

var_dump($folders);

if ($folders == false) {
    echo "호출 실패<br />\n";
} else {
    foreach ($folders as $val) {
        echo $val . "<br />\n";
    }
}

echo "<h1>INBOX Header</h1>\n";
$headers = imap_headers($mbox);

if ($headers == false) {
    echo "호출 실패 (메일박스내)<br />\n";
} else {
    foreach ($headers as $val) {
        echo $val . "<br />\n";
    }
}

imap_close($mbox);