2012-09-24 3 views
0

PHPmailer를 사용하여 이메일을 보내려고하지만 php.ini에서 SMTP 서버를 변경할 때 phpinfo에서 업데이트되지 않습니다. 여전히 localhost를 보여줍니다. 나는 이것이 왜 오류 SMTP Error: Could not connect to SMTP host을 얻고 있다고 가정하고 있습니다.smtp, phpinfo, sendmail

당신은 내가 이미 메일 서버와 함께이 일을 해봤 SMTP_PORT

을 변경할 수 있지만, 나는 SMTP 서버를 변경할 수 없습니다 왜 나를 오류 및 가능한 이유를 찾을 수 있습니다 그리고 또한 있었다 배를 설치하는 데 많은 어려움이있어서이 작업을하고 싶습니다. 나는 smtp.mail.yahoo.com, smtp.gmail.com 및 우리 자신의 메일 서버를 시도했으며 여전히 localhost로 표시됩니다. 또한 변경 작업을 할 때마다 다시 시작했습니다.

간단한 이메일 (asp.net에서 훨씬 쉽게 찾을 수 있음)을 보내는 문제를 진단하는 것은 제 3 일입니다. 추가 정보가 필요하면 알려주세요. 미리 감사드립니다.

+0

왜 투표가 중단 되었습니까? 불분명하니? 어떤 부분? 그리고 나는 또한 당신이 더 많은 정보를 필요로한다면 내가 php 코드에 없다는 것을 알기 때문에 알려 주었다. 왜냐하면 나는 smtp에 대한 업데이트가 phpinfo()에 반영되지 않았기 때문에 이미 php.ini smtp에서이를 수행했기 때문이다. = smtp.mail.yahoo.com, smtp = smtp.gmail.com, smtp = dremail.com .. smtp에 대한 변경 사항은 여전히 ​​localhost..i를 보여 주므로 3 일 연속으로 봤습니다. 그래서 모르겠습니다. –

답변

1

어리석은 질문 일 수 있지만 정확한 php.ini 파일을 사용하고 있습니까? - 많은 설치에서 주변에 둘 이상있을 수 있습니다. 나는 항상 내가 바꾸고있는 php.ini 파일이 phpinfo()에 언급 된 파일인지 확인한다.

+0

yes.i는 내가 smtp 포트와 다른 설정을 변경할 수 있기 때문에 유일하게 주위에 있다는 것을 확인할 수 있습니다. smtp 만 변경되지 않습니다. 정말 그것에 대해 생각할 때 이상합니다. –

0

필자는 phpmailer를 사용하고 있지만 php.ini에서 smtp 서버 설정에 신경을 쓰지 않았다. 대신 phpmailer를 확장하는 새로운 클래스를 만들고 아래에 나와있는 것처럼 SMTP 설정을 지정합니다.

이렇게하면 php.ini 나 표준 phpmailer 파일을 다룰 필요없이 여러 사이트에 대해 SMTP 설정을 구성 할 수 있습니다.

<?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; 
    }