후이즈 리눅스호스팅에서 워드프레스 홈페이지를 세팅한 다음 컨택 폼 테스트를 진행했는데, 여러 방법으로 테스트를 진행해도 메일이 발송되지 않아서 호스팅 측에 문의 했더니 다음과 같은 안내 메일을 보내 왔습니다.
후이즈 리눅스호스팅에서는 PHP의 mail() 함수를 사용해서 메일 발송이 가능합니다.
후이즈의 폼메일 서버 정책은 $from = “아이디@domain.com”; 및 mail($to, $subject, $message, $headers, ‘-f’.$from); 으로 -f 옵션을 추가하셔야만 메일이 발송됩니다.
[공지사항 참조: http://hosting.whois.co.kr/board/view.php?ch=customer&id=notice&no=94932&field=&keyword=&page=]
참고로 위의 방식이 포털에서 운영되는 방식과 같으며 이런 시스템 및 정책을 만들게 된 이유는 최대한 포털사이트측에서 거부되는 양을 줄이고 아이피가 막히는 경우를 피하기 위함입니다.
결국 메일이 정상적으로 동작되려면 기존 코드를 수정해야 한다는 것이었습니다.
한참 고민하다 워드프레스 코어를 수정하는 것보다 컨택 폼 부분만을 수정하는 것이 나을 것 같아서 해당 플러그인(Visual Form Builder)을 수정하였고, 이 수정만으로도 다행히 메일이 정상적으로 동작되었습니다. 이 문제를 해결하는데 적용된 수정 코드는 다음의 3가지 부분입니다.
수정 파일: /plugins/visual-form-builder/includes/email.php
수정 내용:
$mailFrom = “admin@domain.com”; // 코드 추가
//wp_mail( $email, $form_subject, $message, $headers, $attachments ); 주석 처리
mail ($email, $form_subject, $message, $headers,’-f’.$mailFrom); // 코드 추가
감사합니다.