2012-09-24 2 views
0

Я пытаюсь отправить электронное письмо с помощью PHPmailer, но когда я изменяю SMTP-сервер в php.ini, он не обновляется в phpinfo - он все еще показывает localhost. Я предполагаю, что это почему я получаю ошибку SMTP Error: Could not connect to SMTP host.smtp, phpinfo, sendmail

Можете ли вы помочь мне найти ошибки и возможные причины того, почему я не могу изменить сервер SMTP, несмотря на то, что я могу изменить SMTP_PORT

Я уже пытался сделать это с почтовыми серверами, и я также имел много проблем с установкой груши, поэтому я просто хочу сделать эту работу. Я пробовал smtp.mail.yahoo.com, smtp.gmail.com и наш собственный почтовый сервер, и он по-прежнему отображается как localhost. Я также перезагружался каждый раз, когда я делал изменения.

Это мой третий день, диагностирующий проблему отправки простой электронной почты (что было намного проще в asp.net). Если вам нужна дополнительная информация, просто дайте мне знать. Заранее спасибо.

+0

Почему я получил голосование? не понятно? какая часть? и я также сказал, что если вам нужна дополнительная информация, просто сообщите мне, потому что я знаю, что это не в php-кодах, потому что, как я сказал, обновление для smtp не отражается в phpinfo(), поэтому я уже сделал это в php.ini smtp = smtp.mail.yahoo.com, smtp = smtp.gmail.com, smtp = dremail.com..no изменения в smtp, все еще показывающие localhost..i также googled в течение 3 дней подряд, поэтому я не знаю. –

ответ

1

Может быть, это глупый вопрос, но используете ли вы правильный файл php.ini? - во многих установках может быть более одного. Я всегда проверяю, что файл php.ini, который я изменяю, является тем, на который ссылается phpinfo()

+0

yes.i может подтвердить, что он единственный, потому что я могу изменить порт smtp и другие настройки, только smtp не изменен. Действительно, это странно, когда я думаю об этом. –

0

Думаю, что я использую phpmailer, но не стал устанавливать SMTP-сервер в php.ini. Вместо этого я создаю новый класс, который расширяет phpmailer, и укажу здесь свои настройки SMTP, как показано ниже.

Это позволяет мне настраивать параметры SMTP для нескольких сайтов без необходимости касаться php.ini или стандартных файлов phpmailer.

<?php 
require_once('initialise.inc.php'); // Initialising constants including LIB_PATH & DS 
require_once(LIB_PATH.DS."phpmailer".DS."class.phpmailer.php"); 
require_once(LIB_PATH.DS."phpmailer".DS."class.smtp.php"); 

class my_phpmailer extends phpmailer { 

    public $From = "[email protected]"; // Email Address 
    public $FromName = "My Name"; // Name 
    public $Host = "mailserver.example.com"; 
    public $Mailer = "smtp"; 
    public $WordWrap = 75; 
    public $Username = "***************"; // SMTP account username 
    public $Password = "********"; // SMTP account password 


    function __construct() { 
    } 

    public function __toString() { 
    return $this; 
    } 
Смежные вопросы