2013-06-09 4 views
0

전자 메일을 보내지 않는 사용자 지정 양식에 대한 도움이 필요합니다.드루팔 (Drupal 7 - 전자 메일을 보내지 않습니다.

컨텍스트 : Drupal 내에서 PHPMailer, SMTP 인증 지원, 메일 시스템 및 Mime Mail 모듈을 설치했습니다.

위 모듈을 구성하면 구성을 테스트 할 수있는 옵션이 있으며 이러한 테스트를 수행 할 때 전자 메일이 올바르게 전송됩니다. 그러나 양식의 모듈을 작성할 때 전자 메일은 전송되지 않습니다.

나는 어떤 종류의 오류 나 메시지를받지 못합니다. 나는 이메일을받지 못한다. 여기

나는 코드의 잘린 사용하고 있습니다된다 :

function application_form_submit($form, &$form_state) { 
     $subject = "testing web form"; 
     $body = array(); 
     $body[] = "Mail body"; 
     $send = FALSE; 
     $mail_message = drupal_mail('application', 'apply-jobs', '[email protected]', language_default(), $params = array(), $from = '[email protected]', $send); 
     $mail_message['subject'] = $subject; 
     $mail_message['body'] = $body; 

     $mail_system = drupal_mail_system('application', 'apply-jobs'); 
     $mail_message = $mail_system->format($mail_message); 

     $mail_message['result'] = $mail_system->mail($mail_message); 
} 

제안?

+0

호스팅 제공 업체가 포트 25를 차단합니까? –

답변

0

선택적 매개 변수를 정의하는 이상한 방법이 있습니다. 이 비트 :

$from = '[email protected]' 

할 ... 아무것도

이 drupal_mail을 변경해보십시오 평가합니다() 이런 식으로 호출

$mail_message = drupal_mail('application', 'apply-jobs', '[email protected]', language_default(), array(), '[email protected]', $send); 
+0

Drupal 핵심 메일 대신 PHPMailer를 사용하도록 지정해야합니까? 실제 전자 메일 계정을 게시하고 싶지 않기 때문에 전자 메일 주소는 실제 정보가 아닙니다. –

+0

당신이 여기서 사용하고있는 이메일 주소에 대해 말하는 것이 아니라 drupal_mail() 함수를 호출하는 방법에 관한 것입니다. –

+0

나는 많은 예제를 따라 왔지만, 문제는 어떻게 든 이메일 라우팅과 관련이 있다고 생각합니다. PHPMailer를 사용하여 나가기를 원하지만 확실하지 않습니다. –

0

는 내 질문에 대한 해결책을 발견. 해결책은 다음과 같습니다.

메일 시스템 모듈을 사용하면 모듈 당 메일 시스템 설정을 구성 할 수 있습니다. 즉, 사용자 정의 모듈에 대해 새 메일 시스템을 만들어 사용하려는 메일 시스템을 지정해야합니다. 이 작업을 수행 한 후에 모든 전자 메일이 문제없이 전송됩니다.

이 정보는 거의 알려지지 않았으므로 도움이 되길 바랍니다.

감사합니다.

관련 문제