Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Swift邮寄错误500_Php_Email_Send_Swiftmailer - Fatal编程技术网

Php Swift邮寄错误500

Php Swift邮寄错误500,php,email,send,swiftmailer,Php,Email,Send,Swiftmailer,您好,我来找您是因为我对SwiftMailer PHP的一个功能有问题,实际上发送功能不起作用,电子邮件看起来也不正常(服务器OVH),但在本地它工作得非常好。我试图通过放置几个die()来发现一些错误,问题似乎来自于行$result=$mailer->send($message); 如果不是连接(我在OVH和mdp上恢复的地址,我自己定义的),我不理解本地和生产之间的区别 我想知道更多关于这方面的信息,并帮助解决我的问题,谢谢 <?php session_start(); error

您好,我来找您是因为我对SwiftMailer PHP的一个功能有问题,实际上发送功能不起作用,电子邮件看起来也不正常(服务器OVH),但在本地它工作得非常好。我试图通过放置几个die()来发现一些错误,问题似乎来自于行$result=$mailer->send($message); 如果不是连接(我在OVH和mdp上恢复的地址,我自己定义的),我不理解本地和生产之间的区别 我想知道更多关于这方面的信息,并帮助解决我的问题,谢谢

<?php
session_start();


error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);


require_once 'vendor/autoload.php';

if($_SERVER['SERVER_NAME'] == 'localhost'){
  $transport = (new Swift_SmtpTransport('smtp.mailtrap.io', 25))
    ->setUsername('*****')
    ->setPassword('*****');
}
else{

  $transport = (new Swift_SmtpTransport('SSL0.OVH.NET', 587))
    ->setUsername('contact@matheozeller.fr')
    ->setPassword('Password');
  }

  $mailer = new Swift_Mailer($transport);



  $errors = array(); // on crée une vérif de champs
  if(empty($_POST['Nom'])) {// on verifie l'existence du champ et d'un contenu
    $errors ['Nom'] = "Vous n'avez pas renseigné votre nom";
  }
  if(!array_key_exists('Email', $_POST) || $_POST['Email'] == '' || !filter_var($_POST['Email'], FILTER_VALIDATE_EMAIL)) {// on verifie existence de la clé
    $errors ['Email'] = "Vous n'avez pas renseigné votre email";
  }
  if(empty($_POST['Sujet'])) {// on verifie l'existence du champ et d'un contenu
    $errors ['Sujet'] = "Vous n'avez pas renseigné l'objet du message";
  }
  if(empty($_POST['Message'])) {
    $errors ['Message'] = "Vous n'avez pas renseigné votre Message";
  }


  if(empty($errors) !== true ){ // si erreur on renvoie vers la page précédente
    $_SESSION['errors'] = $errors;//on stocke les erreurs
    $_SESSION['inputs'] = $_POST;
    header('Location: contact.php');
  }else{
    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
    $message = (new Swift_Message(htmlspecialchars($_POST['Sujet'])))
    ->setSubject(htmlspecialchars($_POST['Sujet']))
    ->setFrom([htmlspecialchars($_POST['Email']) => htmlspecialchars($_POST['Nom'])])
    ->setTo(['matheo.zeller@gmail.com'])
    ->setBody(htmlspecialchars($_POST['Message']));

    $result = $mailer->send($message);

    $_SESSION['success'] = 1;
  header('Location: contact.php');

}
?>

一个500错误表示您的服务器有问题。但是您可以尝试将php错误记录到,并且可以比较本地使用的php版本和服务器上使用的php版本。可能您在服务器上使用的是旧版本。

500错误是一条通用错误消息,几乎涵盖了脚本可能出现的每一个错误。请检查服务器错误日志以了解确切的错误消息。如何执行此操作?请与您的Web主机联系,了解如何查找服务器错误日志。对于某些系统,其中一个目录中有一个error.log。对于其他人,它在
/var/log/apache/
/var/log/nginx
中。PHP dev=7.2,PHP server=7.2,相同的版本,我已经检查了itok,是否在某些限制下运行脚本?你的最大执行时间和内存限制是多少?(在服务器上):)它是apache?你能访问配置文件吗?我只能访问我的设置主机,我使用apache,是的,这是一个网络主机,而不是你自己的服务器?请通过ftp转到脚本,并在此文件夹中创建一个名为.htaccess->”的新文件。新.htaccess文件的内容:####php#value max_execution_time 200 php#u value memory_limit 256M####文件末尾您可以使用php信息文件测试这些设置。只需创建另一个类似这样的php文件:phpinfo.php如果将此文件调用为fia浏览器,则可以看到设置