2013-11-14 7 views
1

응용 프로그램의 컨텍스트에 따라 전자 메일을 보내는 데 다른 smtp 계정을 사용하고 싶습니다. 그래서이 대답을 찾았지만 사용자 이름과 암호 만 변경하면됩니다. swiftmailer 설정을 동적으로 변경하십시오.

Changing smtp settings in SwiftMailer dynamically

는 동적으로뿐만 아니라 호스트를 변경해야합니다.

어떤 아이디어라도 환영합니다.

+0

을 새 설정으로 다른 swiftmailer 객체를 인스턴스화하면됩니다. 어떤 시점에서는 개체의 설정을 변경하는 데 많은 시간을 할애해야하므로 여러 버전의 개체를 가지고 다니기가 쉽습니다. –

답변

5

당신은 사용자 이름과 암호를 설정, 당신은 호스트, 포트 및 암호화를 설정할 수있는 같은 방법 : (다른 전송 포함)

$transport = $fromYourMailerVariable->getTransport(); 
$transport 
    ->setUserName(...) 
    ->setPassword(...) 
    ->setHost(...) 
    ->setPort(...) 
    ->setEncryption(...); 

하거나 다른 우편물을 만듭니다

$transport1 = Swift_SmtpTransport::newInstance('localhost'); 

$transport2 = Swift_SmtpTransport::newInstance('smtp.domain.com', 666) 
       ->setUsername('user') 
       ->setPassword('pass'); 

$transport3 = Swift_SendmailTransport::newInstance('/usr/sbin/exim -bs'); 

$transport4 = Swift_MailTransport::newInstance(); 
+0

하지만 난 항상 "치명적인 오류 : 정의되지 않은 메서드 Swift_Transport_Esmtp_AuthHandler :: setHost()"를 호출합니다. –

+1

전송을 생성하거나 가져 오는 방법을 모르겠지만 여기에 실제 예제가 있습니다.> http://pastebin.com/fsVEkgZK –

관련 문제