Domanda

Quando clicco pulsante di invio sulla mia pagina di contatto, cercando di inviare un modulo che utilizza swift-mailer, ottengo questo:

Attenzione: fopen (uploads /) [Function.fopen]: failed to open streaming: No such file or directory in /home/polycys2/public_html/html/swift-mailer/lib/classes/Swift/ByteStream/FileByteStream.php sulla linea 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

Il percorso completo è presente sul server, anche se il messaggio di errore dice 'No such file or directory. Quale potrebbe essere il problema? Grazie a tutti in anticipo! E buon Natale!

È stato utile?

Soluzione

È necessario fornire il percorso completo uploads non un percorso realtive perché questo sta per essere interpretato come relativo al file di classe che tenta di aprire l'allegato.

Prova utilizzando realpath prima di passare il percorso di Swift.

$ path = realpath ( 'uploads /');

Altri suggerimenti

Grazie a tutti per il vostro aiuto! Il problema era la mia distrazione - ho dimenticato di creare 'upload' directory lì. Ora funziona benissimo. Grazie!

Questo funziona per me:

controller.php

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

E-incorporare mail.php

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

Spero che questo funziona per voi

Da messaggi di errore, sembra come se si stesse specificando una directory in cui è necessario un percorso di file. Forse a causa di una variabile mancante che dovrebbe contenere il nome del file.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top