그누보드5 메일알림 관련 질문합니다 호스팅 마다 되는곳 있고 안되는곳있네요..
본문
기존에 주문알림 , 상담신청 알림 , 문의 알림, 관리자에 받을 이메일 각각 지정해놓으면
카페 24 또는 가비아 한국 호스팅 쪽에다가 그누보드 셋팅 하면 메일이 오는데
해외 호스팅어쪽 셋팅 했을시 메일이 오지가 않습니다.
한국 호스팅쪽은 다음 지메일 네이트 네이버 다 잘 들어오는데 호스팅어만 그렇습니다.
PHP 버전 5.1 그누보드 5.0.38 PHP 메일러 2.0.4 입니다 . 호스팅어는 php5.2~7.1 지원 ,
아래 사양 첨부와 / 메일 소스 코드 첨부합니다.
데이터베이스 서버
서버: Localhost via UNIX socket
서버 타입: MariaDB
서버 버전: 10.1.25-MariaDB - MariaDB Server
제품 버전: 10
Apache
데이터베이스 클라이언트 버전: libmysql - mysqlnd 5.0.12-dev - 20150407 - $Id: b5c5906d452ec590732a93b051f3827e02749b83 $
PHP 확장: mysqli문서 curl문서 mbstring문서
PHP 버전: 7.0.21
phpMyAdmin
버전 정보: 4.7.1, 최신 안정 버전: 4.7.3
[code]
<?php
/*~ class.phpmailer.php
.---------------------------------------------------------------------------.
| Software: PHPMailer - PHP email class |
| Version: 2.0.4 |
| Contact: via sourceforge.net support pages (also www.codeworxtech.com) |
| Info: http://phpmailer.sourceforge.net |
| Support: http://sourceforge.net/projects/phpmailer/ |
| ------------------------------------------------------------------------- |
| Author: Andy Prevost (project admininistrator) |
| Author: Brent R. Matzelle (original founder) |
| Copyright (c) 2004-2007, Andy Prevost. All Rights Reserved. |
| Copyright (c) 2001-2003, Brent R. Matzelle |
| ------------------------------------------------------------------------- |
| License: Distributed under the Lesser General Public License (LGPL) |
| http://www.gnu.org/copyleft/lesser.html |
| This program is distributed in the hope that it will be useful - WITHOUT |
| ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. |
| ------------------------------------------------------------------------- |
| We offer a number of paid services (www.codeworxtech.com): |
| - Web Hosting on highly optimized fast and secure servers |
| - Technology Consulting |
| - Oursourcing (highly qualified programmers and graphic designers) |
'---------------------------------------------------------------------------'
/**
* PHPMailer - PHP email transport class
* @package PHPMailer
* @author Andy Prevost
* @copyright 2004 - 2009 Andy Prevost
*/
class PHPMailer {
/////////////////////////////////////////////////
// PROPERTIES, PUBLIC
/////////////////////////////////////////////////
/**
* Email priority (1 = High, 3 = Normal, 5 = low).
* @var int
*/
var $Priority = 3;
/**
* Sets the CharSet of the message.
* @var string
*/
//var $CharSet = 'iso-8859-1';
var $CharSet = 'utf-8';
/**
* Sets the Content-type of the message.
* @var string
*/
var $ContentType = 'text/plain';
/**
* Sets the Encoding of the message. Options for this are "8bit",
* "7bit", "binary", "base64", and "quoted-printable".
* @var string
*/
var $Encoding = '8bit';
/**
* Holds the most recent mailer error message.
* @var string
*/
var $ErrorInfo = '';
/**
* Sets the From email address for the message.
* @var string
*/
var $From = !@is_file($path)) {
$this->SetError($this->Lang('file_access') . $path);
return false;
}
$filename = basename($path);
if($name == '') {
$name = $filename;
}
$cur = count($this->attachment);
$this->attachment[$cur][0] = $path;
$this->attachment[$cur][1] = $filename;
$this->attachment[$cur][2] = $name;
$this->attachment[$cur][3] = $encoding;
$this->attachment[$cur][4] = $type;
$this->attachment[$cur][5] = false; // isStringAttachment
$this->attachment[$cur][6] = 'attachment';
$this->attachment[$cur][7] = 0;
return true;
}
/**
* Attaches all fs, string, and binary attachments to the message.
* Returns an empty string on failure.
* @access private
* @return string
*/
function AttachAll() {
/* Return text of body */
$mime = array();
/* Add all attachments */
for($i = 0; $i < count($this->attachment); $i++) {
/* Check for string attachment */
$bString = $this->attachment[$i][5];
if ($bString) {
$string = $this->attachment[$i][0];
} else {
$path = $this->attachment[$i][0];
}
$filename = $this->attachment[$i][1];
$name = $this->attachment[$i][2];
$encoding = $this->attachment[$i][3];
$type = $this->attachment[$i][4];
$disposition = $this->attachment[$i][6];
$cid = $this->attachment[$i][7];
$mime[] = sprintf("--%s%s", $this->boundary[1], $this->LE);
$mime[] = sprintf("Content-Type: %s; name=\"%s\"%s", $type, $this->EncodeHeader($this->SecureHeader($name)), $this->LE);
$mime[] = sprintf("Content-Transfer-Encoding: %s%s", $encoding, $this->LE);
if($disposition == 'inline') {
$mime[] = sprintf("Content-ID: <%s>%s", $cid, $this->LE);
}
$mime[] = sprintf("Content-Disposition: %s; filename=\"%s\"%s", $disposition, $this->EncodeHeader($this->SecureHeader($name)), $this->LE.$this->LE);
/* Encode as string attachment */
if($bString) {
$mime[] = $this->EncodeString($string, $encoding);
if($this->IsError()) {
return '';
}
$mime[] = $this-&
답변 1
화이트도메인 등록하시고
mx 레코드 설정해주세요.
카페24나 가비아는 소유하고 있는 IP의 화이트도메인 관리를 잘하고 있어서 굳이 신경쓸 필요가 없더라고요. 다른 업체들은 안 써봐서 모르겠습니다.