2016-08-28 7 views
0
다음 코드는 내가 사용하고있는 서버 (Hosteurope 웹팩)에서 작동

:심포니에서 Swiftmailer와 제어 센드 메일이

mail('[email protected]', 'some subject', 'sendmail is working', 'From: [email protected]', ""); 

다음 코드는되지 않습니다 :

$message = \Swift_Message::newInstance() 
    ->setSubject('some subject') 
    ->setFrom('[email protected]') 
    ->setTo('[email protected]') 
    ->setBody('sendmail via swiftmail is working'); 
$mailer = $this->get('mailer'); 
$logger = new Swift_Plugins_Loggers_ArrayLogger(); 
$mailer->registerPlugin(new Swift_Plugins_LoggerPlugin($logger)); 
$mailer->send($message); 

그리고 $에서 로거 기록 이 오류 :

++ Starting Swift_Transport_SendmailTransport 
<< 
!! Expected response code 220 but got code "", with message "" (code: 0)" 
    ... 

내 구성은 다음과 같습니다

swiftmailer: 
    transport: "sendmail" 
    sender_address: "[email protected]" 

왜 전화가 작동하는지 다른 이유는 알지 못합니다. 전화가 다를 경우 통화가 동일해야합니다.

답변

0

Sendmail 전송에서 보낸 사람 헤더 (예상대로)를 보내지 않는 것이 문제입니다. 전송이 나를 위해 일한으로 사용 "메일"이 Hosteurope 및 센드 메일/보내는 메일에 문제가 다른 사람을 도움이 될

swiftmailer: 
    transport: "sendmail" 
    sender_address: "[email protected]" 

희망.

0

symfony에서 sendmail을 사용하는 경우 몇 가지 추가 옵션을 전달해야 할 수도 있습니다. 예를 들어 :

'/usr/sbin/sendmail -t -i'

이 옵션을 통과해야하는 확인하려면,

<?php 
phpinfo(); 
> 

실행을 서버에 phpinfo.php을 만들고로 시작하는 항목을 찾을 수 :

sendmail_from 
sendmail_path 

둘 중 하나가 표시됩니다. /usr/sbin/sendmail -some_options

symfony에서 작동되게하려면 적어도 내 경험으로는 config.yml에 직접 붙여 넣을 수 없습니다.

열기가 services.yml 및 추가 arguments 위의 PHP는 항목에서 경로입니다

swiftmailer.mailer.default.transport: 
    class:  Swift_SendmailTransport 
    arguments: ['/usr/sbin/sendmail -t -i'] 

. 당신은, 개발 및 자극 ENV를 분리 그들 중 하나에 붙여 싶은 경우에,

swiftmailer: 
    transport: sendmail 

또는 :

그런 다음에 config.yml을 설정합니다.