관리자 메일을 네이버의 웍스모바일로 바꾸었더니 회원탈퇴시 관리자에게 통보되는 메일이 소스 그래도 보여지네요.

 

아무래도 네이버웍스에서는 수신되는 메일이 text 메일로 인식되는거 같은데요.

 

 

회원가입확장모듈에서 관리자에게 통보할때 html 메일이라고 알려줄 수 있나요?

 

 

회원가입,탈퇴시 관리자에게 통보하게 될때 사용하는 소스입니다.

 

<h1>{getNotEncodedSiteUrl()}</h1>
<table style="font-size: 9pt; border: 1px solid #ccc; border-collapse: collapse; text-align: center;">
<tr style="background: #eee;">
    <th style="border: 1px solid #ccc; padding: 5px;" rowspan="2">{$lang->no}</th>
    <th style="border: 1px solid #ccc; padding: 5px;" rowspan="2">{$lang->notify_type}</th>
    <th style="border: 1px solid #ccc; padding: 5px;">{$lang->regdate}</th>
    <th style="border: 1px solid #ccc; padding: 5px;">{$lang->user_id}</th>
    <th style="border: 1px solid #ccc; padding: 5px;">{$lang->user_name}</th>
    <th style="border: 1px solid #ccc; padding: 5px;">{$lang->nick_name}</th>
</tr>
<tr style="background: #eee;">
    <th style="border: 1px solid #ccc; padding: 5px;">{$lang->email_address}</th>
    <th style="border: 1px solid #ccc; padding: 5px;">{$lang->homepage}</th>
    <th style="border: 1px solid #ccc; padding: 5px;">{$lang->blog}</th>
    <th style="border: 1px solid #ccc; padding: 5px;">{$lang->birthday}</th>
</tr>
<!--@foreach($member_infos as $no => $val)-->
<tr>
    <td style="border: 1px solid #ccc; padding: 5px;" rowspan="2">{$no}</td>
    <td style="border: 1px solid #ccc; padding: 5px;" rowspan="2">{$val->mode}</td>
    <td style="border: 1px solid #ccc; padding: 5px;">{zdate($val->regdate)}</td>
    <td style="border: 1px solid #ccc; padding: 5px;">{$val->member_info->user_id}</td>
    <td style="border: 1px solid #ccc; padding: 5px;">{$val->member_info->user_name}</td>
    <td style="border: 1px solid #ccc; padding: 5px;">{$val->member_info->nick_name}</td>
</tr>
<tr>
    <td style="border: 1px solid #ccc; padding: 5px;">{$val->member_info->email_address}</td>
    <td style="border: 1px solid #ccc; padding: 5px;">{$val->member_info->homepage}</td>
    <td style="border: 1px solid #ccc; padding: 5px;">{$val->member_info->blog}</td>
    <td style="border: 1px solid #ccc; padding: 5px;">{zdate($val->member_info->birthday, "Y-m-d")}</td>
</tr>
<!--@end-->
</table>

 

 

관리자인 제가 볼때 위 소스 그래도 보여져서 읽기가 힘드네요. 기존에 관리자메일을 지메일로 사용할때는 알아서 html을 보기 좋게 보여줘서 불편이  없었습니다.

 

 

 

 

 

 

관리자메일로 통보해주는 소스 일부는 아래와 같습니다.

 

  /**
         * @brief 관리자 통보 준비
         **/
        function procNotifyAdmin($mode, $member_info) {
            $oJoinExtendModel = &getModel('join_extend');
            $config = $oJoinExtendModel->getConfig();
            
            // 실행 조건 검사
            if ($mode == 'signin' && !($config->use_notify_admin == 'signin' || $config->use_notify_admin == 'both'))    return;
            if ($mode == 'signout' && !($config->use_notify_admin == 'signout' || $config->use_notify_admin == 'both'))    return;

            // 통보 주기가 있을 경우 정보를 DB에 추가
            if ($config->notify_admin_period == 'collect') {
                $args->mode = $mode;
                $args->member_info = serialize($member_info);
                
                // DB추가(오류는 무시)
                executeQuery('join_extend.insertNotify', $args);
                
                // 통보 개수
                $output = executeQuery('join_extend.getCountNotify');
                $count = $output->data->count;
                
                // 통보할 개수가 되었으면 통보
                if (intVal($count) >= intVal($config->notify_admin_collect_number))
                    $this->procSendNotifyAdmin('DB');
                    
                return;
            }

            // 매번 통보이면 바로 통보
            $this->procSendNotifyAdmin('member_info', $member_info, $mode);
        }
        
        /**
         * @brief 관리자 통보
         **/
        function procSendNotifyAdmin($mode, $member_info = null, $type = 'signin') {
            $oJoinExtendModel = &getModel('join_extend');
            $config = $oJoinExtendModel->getConfig();
            
            // DB 정보를 이용
            if ($mode == 'DB') {
                // 통보할 정보를 가져온다
                $output = executeQueryArray('join_extend.getNotify');
                $member_infos = $output->data;
                
                // member_info 일렬화를 해제
                if (count($member_infos))
                    for ($i = 0; $i < count($member_infos); $i++)   $member_infos[$i]->member_info = unserialize($member_infos[$i]->member_info);
            
                // DB를 비운다
                executeQuery('join_extend.emptyNotify');
                
            // member_info를 이용
            }else if ($mode == 'member_info' && $member_info) {
                $member_infos[0]->member_info = $member_info;
                $member_infos[0]->mode = $type;
                $member_infos[0]->regdate = date("YmdHis");
            }

            // 통보할 내용이 있는지 확인
            if (!count($member_infos))  return;
            
            // 템플릿을 컴파일하여 내용을 생성
            Context::set('member_infos', $member_infos);
            $oTemplate = &TemplateHandler::getInstance();
            $tpl = $oTemplate->compile('./modules/join_extend/tpl/', 'notify_email');

            // 관리자 정보
            $oMemberModel = &getModel('member');
            $admin_info = $oMemberModel->getMemberInfoByUserID($config->admin_id);
            $admin_member_srl = $admin_info->member_srl;

            // 설정에 따라 쪽지나 메일을 발송
            if ($config->notify_admin_method == 'message' || $config->notify_admin_method == 'both') {
                $title = Context::getLang('notify_title');
                $content = $tpl;
                $oCommunicationController = &getController('communication');
                $oCommunicationController->sendMessage($admin_member_srl, $admin_member_srl, $title, $content, false);
            }
            
            if ($config->notify_admin_method == 'email' || $config->notify_admin_method == 'both') {
                $title = Context::getLang('notify_title');
                $content = $tpl;
                $oMail = new Mail();
                $oMail->setTitle($title);
                $oMail->setContent($content);
                $oMail->setContentType('plain');
                $oMail->setSender($admin_info->user_name, $admin_info->email_address);
                $oMail->setReceiptor($admin_info->user_name, $admin_info->email_address);
                $oMail->send();
            }
        }

  • profile
    $oMail->setContentType('plain');

    $oMail->setContentType('html');
    로 변경해주셔야 합니다.
  • profile profile
    감사합니다.