当我在联系页面上单击提交按钮时,尝试提交使用Swift-Mailer的表格,我明白了:

警告:fopen(uploads/)[function.fopen]:无法打开流:/home/polycys2/public_html/html/html/swift-mailer/lib/lib/lib/lib/classes/classes/classes/swift/bytestream/filebytestream/filebytestream/filebytestream.php 131

Fatal error: Uncaught exception 'Swift_IoException' with message 'Unable to open file for reading [uploads/]' in /home/polycys2/public_html/html/swift-mailer/lib/classes/Swift/ByteStream/FileByteStream.php:133

Stack trace: 
#0 /home/polycys2/public_html/html/swift-mailer/lib/classes/Swift/ByteStream/FileByteStream.php(77): Swift_ByteStream_FileByteStream->_getReadHandle()
#1 /home/polycys2/public_html/html/swift-mailer/lib/classes/Swift/Mime/SimpleMimeEntity.php(660): Swift_ByteStream_FileByteStream->read(8192) 
#2 /home/polycys2/public_html/html/swift-mailer/lib/classes/Swift/Mime/SimpleMimeEntity.php(337): Swift_Mime_SimpleMimeEntity->_readStream(Object(Swift_ByteStream_FileByteStream)) 
#3 /home/polycys2/public_html/html/swift-mailer/lib/classes/Swift/Mime/SimpleMimeEntity.php(448): Swift_Mime_SimpleMimeEntity->getBody()
#4 /home/polycys2/public_html/html/swift-mailer/lib/classes/Swift/Mime/SimpleMimeEntity.php(463): Swift_Mime_SimpleMimeEntity->toString()
#5 /home/polycys2/public_html/html/swift-mailer/lib/classes/Swift/ in /home/polycys2/public_html/html/swift-mailer/lib/classes/Swift/ByteStream/FileByteStream.php on line 133

尽管错误消息显示“没有这样的文件或目录”,但服务器上的完整路径存在。可能是什么问题呢?谢谢大家!圣诞快乐!

有帮助吗?

解决方案

您需要提供通往 uploads 这不是一个理性的路径,因为这将被解释为试图打开附件的类文件。

尝试使用 realpath 在经过快速之路之前。

$ path = realpath('uploads/');

其他提示

谢谢大家的帮助!问题是我缺席 - 我忘了在那里创建“上传”目录。现在它可以正常工作。谢谢!

这对我有用:

控制器.php

$mail = Yii::$app->mailer->compose('@app/mail/embed-mail',
[
     'term' => Url::to('@webroot/images/term.png'),
     'logo' => Url::to('@webroot/images/LOGO.jpg')
]

和嵌入mail.php

<img src="<?= $message->embed($terminal); ?>"/>
<img src="<?= $message->embed($logo); ?>"/>

我希望这对你有用

从错误消息中,似乎您在指定需要文件路径的目录。也许是因为丢失的变量应该包含文件名。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top