Swiftmailer
を使用してメールを送信しようとしています。
キャッチされないエラーが発生します:
未定義のメソッドSwift_SmtpTransport :: newInstance()を呼び出します。
これがコードです:
require_once 'Swift/lib/Swift_required.php';
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')
->setUsername ('[email protected]')
->setPassword ('password');
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance('Weekly Hours')
->setFrom (array('[email protected]' => 'My Name'))
->setTo (array('[email protected]' => 'Recipient'))
->setSubject ('Weekly Hours')
->setBody ('Test Message', 'text/html');
$result = $mailer->send($message);
上記のコードに基づいて、その間違いの原因は何ですか?
私はSwiftMailerについてはあまり詳しくありませんが、提供されたエラーの簡単な概要とそのドキュメントページから、new
演算子を使用することをお勧めします。エラーから、Swift_SmtpTransport
クラスにはnewInstance
メソッドがないため、これを使用して新しいインスタンスを作成すると、エラーがスローされます。代わりにこれを使用してみてください:
require_once 'Swift/lib/Swift_required.php';
$transport = new Swift_SmtpTransport('smtp.gmail.com', 465, 'ssl');
$transport->setUsername('[email protected]')->setPassword('password');
$mailer = new Swift_Mailer($transport);
$message = new Swift_Message('Weekly Hours');
$message
->setFrom(['[email protected]' => 'My Name'])
->setTo(['[email protected]' => 'Recipient'])
->setSubject('Weekly Hours')
->setBody('Test Message', 'text/html');
$result = $mailer->send($message);
編集:PHP(括弧なしで)オブジェクトをインスタンス化した後に直接メソッドを呼び出すことはできません)ありがとう、Art Geigel。