Pregunta

Al hacer clic en botón de envío en mi página de contacto, tratando de presentar un formulario que utiliza Swift-gestor de correo, me sale esto:

Warning: fopen (uploads /) [Function.fopen]: failed to open stream: No existe el fichero o directorio en /home/polycys2/public_html/html/swift-mailer/lib/classes/Swift/ByteStream/FileByteStream.php en la línea 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

Existe la ruta completa en el servidor, aunque el mensaje de error dice 'no existe el fichero o directorio. ¿Cual podría ser el problema? ¡Gracias a todos de antemano! Y Feliz Navidad!

¿Fue útil?

Solución

Es necesario proporcionar la ruta completa a uploads no es una ruta realtive debido a que va a ser interpretado como algo relativo a archivo de clase que intenta abrir el archivo adjunto.

Trate de usar realpath antes de pasar la ruta de acceso a Swift.

$ path = realpath ( 'cargas /');

Otros consejos

Gracias a todos por su ayuda! El problema era mi despiste - Me olvidé de crear 'subir' directorio de allí. Ahora funciona bien. Gracias!

Esto funciona para mí:

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')
]

Y incrustar-mail.php

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

Espero que esto funcione para usted

A partir de los mensajes de error, parece como si se especifica un directorio en el que se necesita una ruta de archivo. Tal vez debido a una variable que falta que se supone que contiene el nombre del archivo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top