PHPMailer 에 대한 새로운 사용법을 새로운 포스트에 남겨두었습니다. 참고하세요.
1. 다음 링크에서 필요한 모듈을 다운로드 받는다.
(PHPMailer)
http://code.google.com/a/apache-extras.org/p/phpmailer/
개발자가 코드를 github 로 옮겼습니다. 아래 링크에서 다운로드 받으세요..
=> https://github.com/PHPMailer/PHPMailer
2. 다운로드 받은 파일을 적당한 경로에 압축을 푼다.
ex)
/var/www/html/inc/PHPMailer
3. 메일 보낼 코드 작성 예
/var/www/html/mailSample.php
<?php
require_once("inc/PHPMailer/class.phpmailer.php");
$mail = new PHPMailer(true);
$mail->IsSMTP();
try {
$mail->Host = "smtp.gmail.com"; // email 보낼때 사용할 서버를 지정
$mail->SMTPAuth = true; // SMTP 인증을 사용함
$mail->Port = 465; // email 보낼때 사용할 포트를 지정
$mail->SMTPSecure = "ssl"; // SSL을 사용함
$mail->Username = "GMAIL
ACCOUNT"; // Gmail 계정
$mail->Password =
"PASSWORD"; // 패스워드
$mail->SetFrom('from email address', 'Display Name'); // 보내는 사람 email 주소와 표시될 이름 (표시될 이름은 생략가능)
$mail->AddAddress('to email address', 'Display Name'); // 받을 사람 email 주소와 표시될 이름 (표시될 이름은 생략가능)
$mail->Subject = 'Email Subject'; // 메일 제목
$mail->MsgHTML("Email Content"); // 메일 내용 (HTML 형식도 되고 그냥 일반 텍스트도 사용 가능함)
$mail->Send(); // 실제로 메일을 보냄
echo "Message Sent OK<p></p>\n";
} catch (phpmailerException $e) {
echo $e->errorMessage(); //Pretty error messages from PHPMailer
} catch (Exception $e) {
echo $e->getMessage(); //Boring error messages from anything else!
}
?>
<?php
function post_request($url, $data) {
// Convert the data array into URL Parameters like a=b&foo=bar etc.
$data = http_build_query($data);
// parse the given URL
$url = parse_url($url);
if ($url['scheme'] != 'http') {
return "Error:Only HTTP request are supported!";
}
// extract host and path:
$host = $url['host'];
$path = $url['path'];
$res = '';
// open a socket connection on port 80 - timeout: 300 sec
if ($fp = fsockopen($host, 80, $errno, $errstr, 300)) {
$reqBody = $data;
$reqHeader = "POST $path HTTP/1.1\r\n" . "Host: $host\r\n";
$reqHeader .= "Content-type: application/x-www-form-urlencoded\r\n"
. "Content-length: " . strlen($reqBody) . "\r\n"
. "Connection: close\r\n\r\n";
/* send request */
fwrite($fp, $reqHeader);
fwrite($fp, $reqBody);
while(!feof($fp)) {
$res .= fgets($fp, 1024);
}
fclose($fp);
} else {
return "Error:Cannot Connect!";
}
// split the result header from the content
$result = explode("\r\n\r\n", $res, 2);
$header = isset($result[0]) ? $result[0] : '';
$content = isset($result[1]) ? $result[1] : '';
return $content;
}
// usage
$url =
"http://www.example.com/receiver.php";
$data = array("key" => "value");
$res = post_request($url, $value);
?>
$text = preg_replace("/\\\\/", "/", $text);
strtotime 에서 2100년이 넘어갈때 제대로 처리하지 못하는 것은 다음의 코드를 응용해서 해결할수 있다.
function dateCompare($dt1, $dt2)
{
$y1 = substr($dt1, 0, 4);
$y2 = substr($dt2, 0, 4);
if ($y1 > $y2) return -1;
else if ($y1 < $y2) return 1;
$startPos = 2;
for($i=0;$i<5;$i++)
{
$startPos += 3;
$v1 = substr($dt1, $startPos, 2);
$v2 = substr($dt2, $startPos, 2);
if ($v1 > $v2) return -1;
else if ($v1 < $v2) return 1;
}
return 0;
}
function addYears($dt, $year)
{
$yr = substr($dt, 0, 4);
return ($yr + $year) . substr($dt, 4);
}
<?php
foreach($_POST as $key => $value)
{
print $key . ":" . $value . "<br>";
}
?>
오늘은 제가 만들어서 사용하는 유용한 함수 하나를 소개하겠습니다.
PHP 로 파일 혹은 폴더를 다루는 경우 사용하는 팁인데,
특정 조건을 만족하는 파일 리스트를 받아와야 하는 경우 glob 함수를 사용합니다.
$fileLists = glob("./*/*.txt");
원래 glob 함수의 옵션에는 폴더명을 읽어오거나 하는 세팅이 정의되어 있지만 아직 제대로 지원해주지 않는다고 합니다..
따라서 파일 리스트가 아닌 폴더 리스트가 필요한 경우에는 다음과 같이 함수를 정의해서 사용하시면 됩니다.
function getFolders($rootDir)
{
$handler = opendir($rootDir);
$rFolders = array(); // 폴더 리스트
$fCounter = 0;
while ($file = readdir($handler))
{
if ($file != '.' && $file != '..')
{
if (is_dir($rootDir."/".$file))
{
$rFolders[$fCounter++] = $file;
}
}
}
closedir($handler);
return $rFolders;
}
유용하게 쓰시길~
대박.. 이거 되네용. 감사합니다!!! ㅎㅎㅎㅎ