안녕하세요
워드프레스 회원가입했을때 문자가 가게 하려고하는데
장문문자거든요.. 문장을 쫙 해놓으니까 딱 단문글자수까지만 보이고 그 이후로는 짤려요 ㅠ
장문으로 보내게하려면 어떻게 해야할까요?ㅠㅠ
문자는 잘 오고있는 상태인데 문자가왔을때 예를들어
[안녕하세요 회원가입을 환영합니다.
저희홈페이지에서는 여러가]
이렇게 짤려서 와요...
도와주세요 ㅠㅠ
우와 드디어됩니다!!!!!!!!!감사합니다 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
안녕하세요.
저희 고객지원 쪽으로 보내주신 정보로 확인해보니
iconv() 함수가 제대로 동작하지 않는 듯합니다.
기존의 아래의 코드를
if(strlen(iconv('utf8', 'euckr', $content)) > 90){
$sender = 'mms';
$title = mb_substr($content, 0, 40);
$args = array(
'headers' => array('content-type' => 'application/json;charset=UTF-8'),
'body' => json_encode(array(
'title' => $title,
'body' => $content,
'sendNo' => "{$option->sms_caller1}{$option->sms_caller2}{$option->sms_caller3}",
'recipientList' => array(array('recipientNo' => $phone))
))
);
}
아래의 코드로 교체해두었습니다.
if(strlen(mb_convert_encoding($content, "EUC-KR", "UTF-8")) > 90){
$sender = 'mms';
$title = mb_substr($content, 0, 40);
$args = array(
'headers' => array('content-type' => 'application/json;charset=UTF-8'),
'body' => json_encode(array(
'title' => $title,
'body' => $content,
'sendNo' => "{$option->sms_caller1}{$option->sms_caller2}{$option->sms_caller3}",
'recipientList' => array(array('recipientNo' => $phone))
))
);
}
실제로 회원가입해서 확인해보시겠어요?
고맙습니다.
알려주신 맨밑에 넣는 긴 코드도 삽입하였구요!
그래도 안돼서 새롭게 알려주신 코드 넣어보니
단문으로 발송됩니다 라고뜹니다!ㅠㅠ
안녕하세요.
아래의 코드도 적용해주셨는지요?
$response = wp_safe_remote_post("https://api-sms.cloud.toast.com/sms/v2.0/appKeys/{$option->sms_toast_cloud_appkey}/sender/$sender", $args);
적용했는데도 같은 문제가 발생한다면
아래의 코드를 적용하셔서
실제 회원가입 후에 페이지에 어떤 메시지가 표시되는지 확인해보시겠어요?
if(strlen(iconv('utf8', 'euckr', $content)) > 90){
echo '장문으로 발송됩니다.';
$sender = 'mms';
$title = mb_substr($content, 0, 40);
$args = array(
'headers' => array('content-type' => 'application/json;charset=UTF-8'),
'body' => json_encode(array(
'title' => $title,
'body' => $content,
'sendNo' => "{$option->sms_caller1}{$option->sms_caller2}{$option->sms_caller3}",
'recipientList' => array(array('recipientNo' => $phone))
))
);
}
else{
echo '단문으로 발송됩니다.';
$sender = 'sms';
$args = array(
'headers' => array('content-type' => 'application/json;charset=UTF-8'),
'body' => json_encode(array(
'body' => $content,
'sendNo' => "{$option->sms_caller1}{$option->sms_caller2}{$option->sms_caller3}",
'recipientList' => array(array('recipientNo' => $phone))
))
);
}
exit;
고맙습니다.
코드를 변경했는데도 안되네요... 그대로 짤려버리네요...ㅠㅠ 어떡하죠 ㅠㅠ
안녕하세요.
토스트 클라우드를 사용 중이시라면
FTP로 접속해서 /wp-content/plugins/cosmosfarm-members/class/Cosmosfarm_Members_Sms.class.php 파일에
아래의 코드를 찾아서
$args = array(
'headers' => array('content-type' => 'application/json;charset=UTF-8'),
'body' => json_encode(array(
'body' => $content,
'sendNo' => "{$option->sms_caller1}{$option->sms_caller2}{$option->sms_caller3}",
'recipientList' => array(
array('recipientNo' => $phone)
)
))
);
$response = wp_safe_remote_post("https://api-sms.cloud.toast.com/sms/v2.0/appKeys/{$option->sms_toast_cloud_appkey}/sender/sms", $args);
아래의 코드로 교체해주시겠어요?
if(strlen(iconv('utf8', 'euckr', $content)) > 90){
$sender = 'mms';
$title = mb_substr($content, 0, 40);
$args = array(
'headers' => array('content-type' => 'application/json;charset=UTF-8'),
'body' => json_encode(array(
'title' => $title,
'body' => $content,
'sendNo' => "{$option->sms_caller1}{$option->sms_caller2}{$option->sms_caller3}",
'recipientList' => array(array('recipientNo' => $phone))
))
);
}
else{
$sender = 'sms';
$args = array(
'headers' => array('content-type' => 'application/json;charset=UTF-8'),
'body' => json_encode(array(
'body' => $content,
'sendNo' => "{$option->sms_caller1}{$option->sms_caller2}{$option->sms_caller3}",
'recipientList' => array(array('recipientNo' => $phone))
))
);
}
$response = wp_safe_remote_post("https://api-sms.cloud.toast.com/sms/v2.0/appKeys/{$option->sms_toast_cloud_appkey}/sender/$sender", $args);
추후 코스모스팜 회원관리 플러그인에 적용하여 업데이트하도록 하겠습니다.
고맙습니다.
토스트클라우드입니다!
사용 중인 SMS 호스팅이 어떻게 되시는지요?
저희 쪽에서도 같은 SMS 호스팅으로 테스트해보겠습니다.
고맙습니다.
ㅠㅠ역시나 안되네요...잘립니다.... 언제쯤 해결될까요 ㅠㅠ 좀 급해서요 ㅠㅠ..
해결책 나오면 여기 다시 말씀해주실수있나요 ㅠㅠ
안녕하세요~^^
현재 90 바이트(한글 45자) 초과 시에 장문 문자로 보내고 있습니다.
FTP로 접속해서 /wp-content/plugins/cosmosfarm-members/class/Cosmosfarm_Members_Sms.class.php 파일에
아래의 코드가 장문 문자로 보낼지 체크하는 코드입니다.
if(strlen(iconv('utf8', 'euckr', $content)) > 90){
$type = 'L';
}
else{
$type = '';
}
$body['smsType'] = base64_encode($type); // LMS일경우 L
저희 쪽에서도 다시 테스트를 해보고 문제가 있다면
플러그인도 업데이트를 진행하도록 하겠습니다.
고맙습니다.