COOL SMS 사용중인데 혹시 장문 발송 되시는분 계신가요?
CMS/프레임워크 | XE 1.x |
---|---|
개발 언어 | PHP 7.0 |
현재 홈페이지에서 새글 알림과 댓글 알림을 사용하고 있는데, 문자 전송시 단문 전송은 되는데 장문 전송은 되지 않아서
혹시 장문 전송해보신분 계실까요?
문자 방식에 장문가능 부분에 체크를 했는데도 전송되는 문자가 단문 형태로만 와서...
똑띠
Lv. 6
CMS/프레임워크 | XE 1.x |
---|---|
개발 언어 | PHP 7.0 |
현재 홈페이지에서 새글 알림과 댓글 알림을 사용하고 있는데, 문자 전송시 단문 전송은 되는데 장문 전송은 되지 않아서
혹시 장문 전송해보신분 계실까요?
문자 방식에 장문가능 부분에 체크를 했는데도 전송되는 문자가 단문 형태로만 와서...
댓글 6
해당 기능은 장문으로 발송가능한 상태를 뜻합니다.
따라서 글자갯수가 많아질 경우 (문자 용량 기준 90바이트이상)장문으로 자동으로 변경되는 서비스입니다.
단문으로 전송되는 문제가 단순히 90바이트를 넘지 않을 경우 단문으로 전송되지만, 넘을경우 장문으로 넘어가는 형태입니다.
따라서 증상 설명해주시는것이 아주 중요해요 ㅠㅠ..
네..현재 장문으로 발송 선택을 했는데..단문으로 전송이 됩니다.
필요하시면 현재 테스트 계정 정보 알려 드릴수 있습니다.
신경쓰게 해드렸네요.
한가지만 더 질문 드려 봅니다.
현재 위 이미지 처럼 수신번호 설정을 게시판 글작성시 확장변수값(전화번호 형식)으로 설정을 해 놓았습니다.
그러면 댓글이 달릴 경우 그 확장변수에 기록된 전화번호로 문자가 전송이 된다는 뜻 아닌지요?
현재는 관리자 번호로만 장문 댓글이 전송이 되네요.
이번에는 2개 사이트에서 테스트를 해봤습니다.
시간되실때 답변 좀 부탁드려봅니다.
문자전송이 재대로 안되는 문제는 현재 저도 확인이 불가능하지만 일반적인 상황에서는 발송되는 것이 맞습니다. 하지만 회원님의 서버에서 관리자에게 문자 보낸다음 다음 작동을 하지 않는 것으로 보여집니다.
그런데 이상하게 관리자에게 보내는 코드는 잘가는데, 글작성자가 입력한 확장변수 값을 이용한 발송은 처리가 안되네요.
function processNotification 에서 write_chek 부분을 빼고 function sendToWriter 에서 이 값을 function sendToAdministrator 값으로 바꿔서 테스트 해보니 발송이 2개가 전달되더라구요. 당연한 이야기 겠지만...ㅡㅡ;;
function sendToWriter($mobileContent, $mailContent, $title, &$commentInfo, &$config)
{
// get the references of module MVC instances.
$oMemberModel = &getModel('member');
$oDocumentModel = &getModel('document');
// get document info.
$oDocument = $oDocumentModel->getDocument($commentInfo->document_srl);
// writer's member_srl
$writer_member_srl = $oDocument->getMemberSrl();
// get member_info
$member_info = $oMemberModel->getMemberInfoByMemberSrl($writer_member_srl);
$recipientNumberArray = $this->getRecipientNumberForWriter($member_info, $oDocument, $config);
$senderNumber = $config->sender_phone;
$recipientEmailAddress = $this->getEmailAddressForWriter($member_info, $oDocument, $config);
$recipientName = $this->getWriterNickName($member_info, $oDocument);
$senderEmailAddress = $config->email_sender_address;
$senderName = $config->email_sender_name;
if(!$senderEmailAddress) $senderEmailAddress = $commentInfo->email_address;
if(!$senderName) $senderName = $commentInfo->nick_name;
if(!$senderEmailAddress) $senderEmailAddress = $recipientEmailAddress;
if(!$senderName) $senderName = $recipientName;
$tmpObj = new stdClass();
$tmpObj->article_url = getFullUrl('','document_srl', $commentInfo->document_srl);
$tmpContent = $this->mergeKeywords($mailContent, $tmpObj);
$tmpMessage = $this->mergeKeywords($mobileContent, $tmpObj);
if(count($recipientNumberArray) > 0)
{
if(count($recipientNumberArray) >= 2 && $config->frist_number !== 'notuse' && $config->frist_number)
{
$this->sendMessages($recipientNumberArray[$config->frist_number], $senderNumber, $recipientEmailAddress, $recipientName, $senderEmailAddress, $senderName, $tmpMessage, $tmpContent, $title, $config, $commentInfo);
}
else
{
foreach($recipientNumberArray as $number)
{
$this->sendMessages($number, $senderNumber, $recipientEmailAddress, $recipientName, $senderEmailAddress, $senderName, $tmpMessage, $tmpContent, $title, $config, $commentInfo);
}
}
}
}
function processNotification(&$config, &$commentInfo, &$module_info)
{
// get the reference of modules' instances.
$oMemberModel = &getModel('member');
// get document info.
$oDocumentModel = &getModel('document');
$oDocument = $oDocumentModel->getDocument($commentInfo->document_srl);
$commentInfo->writer_nick_name = $oDocument->getNickName();
$title = $oDocument->getTitleText();
// message content
$mobileContent = $this->mergeKeywords($config->content, $commentInfo);
$mobileContent = $this->mergeKeywords($mobileContent, $module_info);
$mobileContent = str_replace(" ", "", strip_tags($mobileContent));
// mail content
$mailContent = $this->mergeKeywords($config->mail_content, $commentInfo);
$mailContent = $this->mergeKeywords($mailContent, $module_info);
// send to administrator
$this->sendToAdministrator($mobileContent, $mailContent, $title, $commentInfo, $config);
// send to writer
$writer_check = $this->checkNotificationRequiredForWriter($commentInfo, $oDocument, $config);
debugPrint($writer_check);
if($writer_check)
{
$this->sendToWriter($mobileContent, $mailContent, $title, $commentInfo, $config);
}
// send to upper replier
$upperComment = $this->getUpperComment($commentInfo);
if($upperComment && $this->checkNotificationRequiredForUpperReplier($commentInfo, $upperComment, $oDocument, $config))
{
$this->sendToUpperReplier($upperComment, $mobileContent, $mailContent, $title, $commentInfo, $config);
}
}
소스가 이렇게 나와 있는데, 혹시 잘못된 부분이 있을가요?
참고로 서버 문제인가 해서 여러개의 계정별로( 카페24, php 5점대 서버, php 7 점대 서버) 테스트를 해봤는데 다 안되어서...
가능하시면 한번 살펴봐 주시면 감사하겠습니다.