하나의 기능을 사용하여 서로 다른 두 곳에서 이메일을 보냅니다. 한 곳에서는 다른 전자 메일 주소를 참조해야하며 다른 곳에서는 필요하지 않으므로 기본적으로 cc를 null로 유지하고 필요하면 전자 메일 주소를 삽입하는 것이 좋습니다.'cc'가 비어있는 경우 Swiftmailer에서 불만을 제기 함
이것은 제 함수입니다.
private function notifyByMail($to, $from, $toName="", $fromName="", $body, $subject, $cc="", $ccName="")
{
//use custom data to send notification email
$message = \Swift_Message::newInstance()
->setSubject($subject)
->setTo(array($to => $toName))
->setCc(array($cc => $ccName))
->setFrom(array($from => $fromName))
->setBody($body);
$this->get('mailer')->send($message);
}
그리고 이렇게 두 곳에서 호출하십시오. 공통 평가 기준 비어 있지 않기 때문에
$this->notifyByMail($to, $from, '', $name, $body, $subject);
및
$this->notifyByMail($to, $from, 'Jack', $name, $body, $subject, $cc, 'Jack');
두 번째는 작동하지만, 첫 번째는 문제가있다. 이것은 오류에 관한 것입니다.
예외가 발생했습니다 : 지정된 사서함 []의 주소가 RFC 2822, 3.6.2의 을 준수하지 않습니다.
나는 cc를 제거하고 첫 번째 것을 다시 테스트 한 다음 완벽하게 작동합니다. 나는 다른 곳에서 내가 그것을 사용하기 때문에 그 참조를 필요로한다. 왜 누군가가 cc가 null이 될 수 없는지 말해 줄 수 있습니까? 이 문제를 어떻게 해결해야합니까?