Mail

게시물에 코멘트(댓글)가 달리면, 본문 등록자에게 자동으로 메일이 가도록 하는 방법.

Subscriptions 모듈로,
게시물에 코멘트가 달리면, 본문 등록자에게 메일이 자동으로 가도록 하는 방법을 메모해 둔다.

설정이 단순하지는 않다. 메일 송신에 문제가 있는 경우의 확인을 위해
tail -f로 smtp, postfix 등의 maillog를 살펴보는 것도 필요하다.


1. 우선 Subscriptions 모듈을 설치/활성화한다.
http://drupal.org/project/subscriptions
활성화할 때, 아래 하위모듈들도 체크해 준다.

Content Subscriptions
Subscriptions Mail
Subscriptions UI
Taxonomy Subscriptions

2. 아울러 메일 템플릿 작성/편집을 위해 아래 모듈도 설치/활성화하자.
http://drupal.org/project/mail_edit

3. 아래 주소로 가서, "subscribe to content" 에만 체크를 하자. (해당 Role들에게만)
http://palpal.org/admin/user/permissions#module-subscriptions

* 다른 항목에도 체크할 경우가 있으나, 조건에 따라 대량의 메일송신이 발생하니 주의.

4. /admin/settings/subscriptions 에 가서 Mail settings 항목을 채워준다.

* 해당 사이트의 서버 부하에 걸맞는 설정이 아래 세부항목에 필요하다.
Maximum number of notifications to send per cron run:

메일 송수신 실패시 리턴 메일을 받도록 Return-Path 지정하기

메일 송수신 실패시 리턴 메일을 받도록 Return-Path 지정하기

메일 수신주소나 서버의 이상으로 에러 메일이 반송되는 경우,
이를 Return-Path라는 헤더 정보에 담아둔 주소로 보낼 수 있다.

그런데 보통의 웹호스팅 사이트들이 이를 코딩에서 조정하는 것을
우선으로 하지 않고 해당 서버명이 들어간 메일어드레스로 강제지정하는 경우가 많다.

http://drupal.org/project/returnpath
이런 경우에 Return-Path 모듈을 사용하면,
드루팔 메일 센드 drupal_mail_send함수를 이용한 Return-Path의 지정이 가능하다.

--- 2010.09 추가 ---

최근 한 프로젝트에서, 리턴 패스가 제대로 작동하지 않고 호스팅 회사의 주소가 그대로 보이는 경우가 있었다. 소스 상에도 모듈 설정 상에도 문제는 없었다.
한참 조사한 뒤에 알았는데 - "모듈의 해제 후 재설정"에도 무반응이었으나 -
"모듈의 해제 후 언인스톨!(모듈 화면에 있다. 디비 설정도 몇몇 청소한다)하고 재설정"했더니 문제 현상이 고쳐졌다.
귀한 정보를 주신 ta님에게 감사 드린다.

사용자 안내 메일의 제목과 본문을 다국어로 설정해 보자

Mail Editor 라는 모듈( http://drupal.org/project/mail_edit )을 이용해서,
사용자 안내 메일의 제목과 본문을 다국어로 설정해 보자.

드루팔의 사용자 설정 기능 /admin/user/settings 중에는,
신규 등록한 회원에게나 패스워드 1회 안내 등의 메일 본문과 그 제목을 설정하는 화면이 있다.

이 기능은 해당 경우에 따라 자동적으로 안내메일이 가게 되는데,
다국어 지정이 여위치 않은 경우가 있다. 기본적으로 UTF-8 인코딩 메일이고.

만일 복수개의 언어를 사용하는 사이트라면,
메일 템플릿(제목과 본문의 정형문)을 다국어로 지정할 필요가 있다.
이럴 경우, Mail Editor 모듈은 유용하다.

모듈을 설치/활성화하고 나면,
관리 화면에 Mail Template 라는 항목( /admin/build/mail-edit )이 생긴다. 이를 클릭하자.
아래와 같은 화면이 나타난다. 각각의 언어별로 메일 제목과 본문을 지정할 수 있다.

드루팔 사이트에 코멘트(댓글)가 달리면, 특정 어드레스로 안내 메일을 송신하는 법

예전에 기록한 내용이 완전 잘못된 것이라, 급하게 수정합니다.
아래 설명하는 모듈은, 코멘트가 달린 본문 등록자에게 메일을 보내는 것이 아니라, 미리 지정해 둔 어드레스로 안내메일을 보내는 기능을 갖고 있습니다.

새 제목 : 드루팔 사이트에 코멘트(댓글)가 달리면, 특정 어드레스로 안내 메일을 송신하는 법.
옛 제목 : 드루팔에서 코멘트를 쓰면, 본문 등록자에게 메일이 자동으로 가도록 하는 방법.

1. CommentMail 모듈을 설치한다.
http://drupal.org/project/commentmail
*** 2010년 이후로는 아래 패치 과정이 불필요하다.

2. commentmail.module의 약 197라인에 있는,
$node = node_load($comment_obj->nid); 를 찾는다.

3. 그 아래에 다음과 같은 내용을 넣는다.

$strQuery = "SELECT DISTINCT u.mail FROM {users} u WHERE u.uid=".$node->uid;
$resultSetUserInfo = db_query( $strQuery );
$rowUserInfo = db_fetch_object( $resultSetUserInfo );
// echo "alert(' " .$rowUserInfo->mail." ');";

 
4. 그리고 더 아래에 있는 drupal_mail의 부분 밑에 다음과 같이 추가하면 OK.

drupal_mail(

내용묶음