PHPMailer из отображается как Root User

Я использую PHP Mailer для отправки электронных писем, и я использую SMTP

вот код, который я использую:

$email = new PHPMailer(); $email->IsSMTP(); // telling the class to use SMTP $email->Host = "mail.integradigital.co.uk"; // SMTP server $email->SMTPDebug = 2; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only $email->SMTPAuth = true; // enable SMTP authentication $email->Host = "mail.integradigital.co.uk"; // sets the SMTP server $email->Port = 26; // set the SMTP port for the GMAIL server $email->Username = "sending@************.co.uk"; // SMTP account username $email->Password = "********"; // SMTP account password $email->SetFrom($result["emailfrom"]); $email->FromName($result["emailfrom"]); $email->Subject = $result["subject"]; $email->Body = $result["message"]; 

но его отправка и показ как из Root Userroot @ localhost

Я знаю, что могу изменить это в файле class.phpmailer.php, но я хочу иметь возможность установить его в коде выше

Это возможно?

Оберните все это в попытке поймать. И инициализировать phpmailer с включенными исключениями

 $email = new PHPMailer(true); 

Похоже, что используются значения по умолчанию. Поэтому при вызове setFrom() что-то пойдет не так. И он терпит неудачу, потому что он возвращает false без исключений.

 try { // your mail code here } catch (phpmailerException $e) { echo $e->getMessage(); } 

И измените настройку электронной почты и от имени:

 $email->setFrom($result["emailfrom"], $result["emailfrom"]); 

FromName – свойство, а не метод.

Хорошо, короче:

 $email->From = "email.address@gmail.com"; $email->FromName = "Support Team"; 

Это сработало для меня.

У меня была эта проблема, когда я отправлял только первый параметр в setFrom() , как name <email> .

setFrom() не знал, как разбирать эту конструкцию.

Изменение на два отдельных параметра решило проблему.