테스트 사이트 - 개발 중인 베타 버전입니다

이메일 태스트 에러 문제, 미국 호스팅 사용 채택완료

1004us 7년 전 조회 2,087

 안녕하세요 도움을 부탁드립니다

 

한국내 서버를 사용하면 아무 문제 없을건데

미국서버를 몇군데 사용중 입니다

 

1and1.com 호스팅은 옛버전은 물론 오늘 새버전 영카트 업로드, 인스톨하고, 이메일 태스트를 해보니 안됩니다

오래전부터 이곳 1and1.com은 이메일이 안되더군요 이곳에 꼭 해야 하는데..쩝..

 

 다른 곳은 채팅을 하고 전화를 하면 이것저것 잘 수정을 해주는데

이곳은 전화를 해보니 셋팅을 직접하라고 하네요..ㅜㅜ   

 1and1.com 에서 세팅은 아래 사진처럼 참고 하라고 하는 것 같습니다

어디를 수정해서 태스트 해보아야 하는지 도무지 알수가 없어서 도움글을 올려봅니다

 

여기서 QA이곳저곳 이메일 세팅을 찾아보니 

config.php 와 maller.lib.php 이 두 화일을 수정하는것 같습니다

Gmail을 사용해서 gmail 사용하는사람 세팅하는것 어떤분이 올린 내용대로 해보니 안되고

 

config.php 파일에서 아래처럼 해보았습니다.

// SMTP
// lib/mailer.lib.php 에서 사용
define('G5_SMTP',      '127.0.0.1');
define('G5_SMTP_PORT', '25');
+//
+// Gmail 및 외부 smtp 서버 사용할때, G5_SMTP_USE_EXT 1 로 세팅
+// 아래 예는 gmail 을 사용할때 임.
+//
+define('G5_SMTP_USE_EXT',  1);
+
+if(defined('G5_SMTP_USE_EXT') && G5_SMTP_USE_EXT == 1){
+  define('G5_SMTP',      'smtp.gmail.com');
+  define('G5_SMTP_PORT', '465');
+  define('G5_SMTP_USEAUTH', true);
+  define('G5_SMTP_USESECURE', 'ssl');
+  define('G5_SMTP_USER', 'yourusername@gmail.com');
+  define('G5_SMTP_PASS', 'yourpassword');
+}
+else
+{
+  define('G5_SMTP',      '127.0.0.1');
+  define('G5_SMTP_PORT', '25');
+}
 /********************
 

 maller.lib.php 파일에서 아래처럼 해보았습니다.

 

<?php
if (!defined('_GNUBOARD_')) exit;

include_once(G5_PHPMAILER_PATH.'/PHPMailerAutoload.php');

// 메일 보내기 (파일 여러개 첨부 가능)
// type : text=0, html=1, text+html=2
function mailer($fname, $fmail, $to, $subject, $content, $type=0, $file="", $cc="", $bcc="")
{
    global $config;
    global $g5;

    // 메일발송 사용을 하지 않는다면
    if (!$config['cf_email_use']) return;

    if ($type != 1)
        $content = nl2br($content);

    $mail = new PHPMailer(); // defaults to using php "mail()"
    if (defined('G5_SMTP') && G5_SMTP) {
        $mail->IsSMTP(); // telling the class to use SMTP
        $mail->Host = G5_SMTP; // SMTP server
        if(defined('G5_SMTP_PORT') && G5_SMTP_PORT)
            $mail->Port = G5_SMTP_PORT;
    }
    $mail->CharSet = 'UTF-8';
    $mail->From = $fmail;
    $mail->FromName = $fname;
    $mail->Subject = $subject;
    $mail->AltBody = ""; // optional, comment out and test
    $mail->msgHTML($content);
    $mail->addAddress($to);
    if ($cc)
        $mail->addCC($cc);
    if ($bcc)
        $mail->addBCC($bcc);
    //print_r2($file); exit;
    if ($file != "") {
        foreach ($file as $f) {
            $mail->addAttachment($f['path'], $f['name']);
        }
    }
    return $mail->send();
}

// 파일을 첨부함
function attach_file($filename, $tmp_name)
{
    // 서버에 업로드 되는 파일은 확장자를 주지 않는다. (보안 취약점)
    $dest_file = G5_DATA_PATH.'/tmp/'.str_replace('/', '_', $tmp_name);
    move_uploaded_file($tmp_name, $dest_file);
    $tmpfile = array("name" => $filename, "path" => $dest_file);
    return $tmpfile;
}
?>

 

고수님들 도움이 좀 필요합니다

될지 안될지 모르지만 

긴글 읽어주셔서 감사합니다

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
e
7년 전

아래와 같이 수정해서 발송해보세요..

define('G5_SMTP',      'smtp.1and1.com');
define('G5_SMTP_PORT', '587');

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인