我正在尝试使用def __getitem__(self, index):
if self.train:
img, target = self.train_data[index], self.train_labels[index]
else:
img, target = self.test_data[index], self.test_labels[index]
# doing this so that it is consistent with all other datasets
# to return a PIL Image
img = Image.fromarray(img)
if self.transform is not None:
img = self.transform(img)
if self.target_transform is not None:
target = self.target_transform(target)
return img, target
发送电子邮件。
我收到了一个未捕获的错误:
调用未定义的方法Swift_SmtpTransport :: newInstance()。
以下是代码:
Swiftmailer
基于上面的代码,会导致这个错误的原因是什么?
答案 0 :(得分:14)
我对SwiftMailer并不熟悉,但是从您提供的错误的简要概述及其文档页面,我建议您尝试使用new
运算符。从错误中可以清楚地看出
Swift_SmtpTransport
类没有newInstance
方法,因此当您使用它创建新实例时,它会抛出错误。也许尝试使用它:
require_once 'swift/lib/swift_required.php';
$transport = new Swift_SmtpTransport('smtp.gmail.com', 465, 'ssl');
$transport->setUsername('email@gmail.com')->setPassword('password');
$mailer = new Swift_Mailer($transport);
$message = new Swift_Message('Weekly Hours');
$message
->setFrom(['email@gmail.com' => 'My Name'])
->setTo(['email@hotmail.com' => 'Recipient'])
->setSubject('Weekly Hours')
->setBody('Test Message', 'text/html');
$result = $mailer->send($message);
编辑:PHP在实例化对象(不带括号)后不允许直接方法调用。谢谢,Art Geigel。
答案 1 :(得分:0)
Swift_Mailer::newInstance($transport);
newInstance 方法在 5.4 版本中可用,在较新的版本中,它被删除。 检查 composer.json 中的版本。
"swiftmailer/swiftmailer": "^5.4"