Quiero enviar электронная почта ООН, подставьте ООН archivo .xls pero никакой se por que motivo никакой se manda, ошибка ya que no aparece alguno. Solo muestra el mensaje de que ha ocurrido un error al enviar que añadí эй параграф controlar СИ se envia o нет. El código es el siguiente:
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'PHPMailer-master/src/Exception.php';
require 'PHPMailer-master/src/PHPMailer.php';
require 'PHPMailer-master/src/SMTP.php';
$mail = new PHPMailer();
$mail->Username = $email;
$mail->Password = $pass;
$mail->SMTPSecure = 'ssl';
$mail->Host = $host;
$mail->Port = 25;
$mail->IsSMTP(); // use SMTP
$mail->SMTPAuth = true;
$mail->SetFrom = ($mail->Username."Remitente");
$mail->AddAddress($destinatario);
$mail->Subject = "Demo de PHPMailer";
$mail->Body = "Hola, esto es una demo de envio de emails con archivos adjuntos!!!";
$file_to_attach = 'C:\Users\Lorenzo\xampp\htdocs\Devoluciones\Devoluciones.xls';
$mail->AddAttachment( $file_to_attach, "Devoluciones.xls");
if($mail->Send()){
echo '<p>Se ha enviado correctamente el email </p>';
}else{
echo "<p>Error al enviar el email {$mail->ErrorInfo}</p>";
}
Se ха actualizado el código подставляют los último cambios sugeridos en la respuesta. Ошибка El que lanza ahora mismo es el siguiente:
Error al enviar el email Invalid address: (From): root@localhost
Если это локальный файл PHPMailer, он позволяет тебе посылать это как добавление без осложнений, единственное состоит в том, что в маршрут ты должен помещать локальный маршрут, не унифицированный указатель ресурса, как предупреди документация (перевод) :
... Имейте в виду, что он не может использовать унифицированный указатель ресурса для маршрута; только смоги использовать маршрут локальной системы файлов. Консультируйте замечания относительно присоединенных файлов цепей далее чтобы знать, как использовать удаленный контент.
Маршрут может быть относительным (с Вашего рукописного шрифта, не класса PHPMailer) или полный маршрут файла, который он хочет присоединить. Если вы хотите послать контент с базы данных или Веб API (например, генератор удаленного PDF), не используйте этот метод; используйте
addStringAttachment
в Вашем месте.
Обслуживая это, в твоем файле нет полный маршрут, потому что ты не помещаешь в нее имя файла.
, Если мы понимаем, что файл называются Devoluciones.xls
, так был бы должен функционировать:
#Nótese que hemos agregado el nombre del archivo
$file_to_attach = 'C:\Users\Lorenzo\xampp\htdocs\Devoluciones\Devoluciones.xls';
$mail->AddAttachment( $file_to_attach, "Devoluciones.xls",);
if($mail->Send()){
echo '<p>Se ha enviado correctamente el email </p>';
}else{
#Agregamos información sobre un posible error
echo "<p>Error al enviar el email: {$mail->ErrorInfo}</p>";
}
у Тебя Есть ошибка также в этой линии:
$mail->SetFrom = ($mail->Username."Remitente");
setFrom
- метод, это не переменная, которую нужно выравнивать. Кроме того, слово Remitente
было бы вторым параметром, который ты перемещаешь его в метод, там то, что ты делаешь, он состоит в том, чтобы прилагать с точкой.
, Исправленный остался бы таким:
$mail->setFrom($mail->Username,"Remitente");
$mail->SetFrom = ($mail->Username."Remitente");
я не думаю, что это производит электронную почту vá lido. ¿ Не достаточно помещать$mail->SetFrom = ($mail->Username);
? если дело в том, что у$mail->Username
есть direcció n правильная. Ты можешь проверять это помещая одинvar_dump($mail->Username);
или помещая direcció n в руку, чтобы пытаться. – A. Cedano 20.12.2019, 18:09addAttacehment(), setFrom(), send()
и т.д. Если оно не функционирует, издай вопрос помещая có я говорю настоящий, когда ты исправишь в способ, показанный в ссылке. – A. Cedano 20.12.2019, 18:22