[PHP] PHP 메일 발송[PHP] PHP 메일 발송
Posted at 2018. 4. 10. 00:11 | Posted in PHP/PHP Library■ PHPMailer 다운받고 세팅하기.
01. https://github.com/PHPMailer/PHPMailer 사이트에 접속하여 PHPMailer-master.zip 파일을 다운받는다.
02. 다운받은 PHPMailer-master.zip 파일의 압축을 해제한다.
※ 필자는 포스팅 작성일 기준으로 PHP5 버전을 사용중이었기에 몇가지 문법이 맞지 않는 문제가 발생했었다.
PHP7 버전을 사용중이라면 문제가 없겠지만 아래 버전을 사용하는 경우는 아래의 문서를 수정하여 사용해야 한다.
첨부파일 : PHPMailer.phpSMTP.php
참고 : http://still.tistory.com/172
참고 : https://support.google.com/a/answer/2520500?hl=ko
■ PHPMailer를 사용한 Gmail 전송
# 소스코드
<?php |
# 출력결과① - 브라우저를 통해 소스코드를 실행 시킨다.
# 출력결과② - 받는 메일함으로 접속을 하면 아래와같이 메일이 성공적으로 도착한 것을 확인 할 수 있다.
■ PHPMailer를 사용한 NAVER 메일 전송
앞서 지메일에서는 CA인증이 필요했지만 네이버 메일에서는 CA인증이 필요치 않았다.
<?php |
# 출력결과① - 브라우저를 통해 코드를 실행한다.
# 출력결과② - 받는메일은 Gmail로 지정하였다.
'PHP > PHP Library' 카테고리의 다른 글
[PHP] PHPExcel 시트 추가하기 (0) | 2020.02.11 |
---|---|
[PHP] SimpleSql 라이브러리를 사용한 손쉬운 쿼리사용 (1) | 2018.04.16 |
[PHP] PHPExcel 엑셀 파일 업로드 하고 내용 읽기 (0) | 2018.03.22 |
[PHP] PHPExcel 설치하고 엑셀파일 다운받기 (0) | 2018.03.21 |
[PHP] PHP QR코드 이미지 저장하고 띄우기 (0) | 2018.03.16 |
[API] 다음 - 우편번호 API 모바일에서 사용하기[API] 다음 - 우편번호 API 모바일에서 사용하기
Posted at 2018. 4. 4. 20:11 | Posted in API/우편번호
■ 다음 우편번호 - 팝업창 띄우지 않고 사용하기
-. 이전 포스팅에서 팝업창을 띄워서 사용하는 방법에 대한 포스팅을 작성하였는데. 이 방법만으로는 사용에 한계가 있었다.
① 모바일 환경에서의 사용을 고려한 반응형 웹에서 사용가능하도록 UI 변경
② 팝업창 사용을 막아둔 브라우저 환경 대응
-. postcode.v2.js 가 나오면서 좀더 다양하고 많은 기능을 사용할 수 있게 되었다.
-. 다음 우편번호 서비스의 "iframe을 이용하여 페이지에 끼워 넣기"를 바탕으로 작성하였다.
# 소스코드
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>:: 다음 주소록 API ::</title> <script type="text/JavaScript" src="http://code.jquery.com/jquery-1.7.min.js"></script> <script type="text/JavaScript" src="http://dmaps.daum.net/map_js_init/postcode.v2.js"></script> <script type="text/javascript"> function openDaumZipAddress() { // 우편번호 찾기 화면을 넣을 element를 지정 var element_wrap = document.getElementById("wrap"); // wrap 레이어가 off된 상태라면 다음 우편번호 레이어를 open 한다. if(jQuery("#wrap").css("display") == "none") { new daum.Postcode({ oncomplete:function(data) { jQuery("#zonecode").val(data.zonecode); jQuery("#address").val(data.address); jQuery("#address_detail").focus(); console.log(data); } // 사용자가 값을 주소를 선택해서 레이어를 닫을 경우 // 다음 주소록 레이어를 완전히 종료 시킨다. , onclose:function(state) { if(state === "COMPLETE_CLOSE") { // 콜백함수를 실행하여 슬라이드 업 기능이 실행 완료후 작업을 진행한다. offDaumZipAddress(function() { element_wrap.style.display = "none"; }); } } , width:"100%" // 가로사이즈를 wrap 레이어에 맞움 }).embed(element_wrap); // 슬라이드 다운 기능을 이용해 레이어 창을 오픈한다. jQuery("#wrap").slideDown(); } // warp 레이어가 open된 상태라면 다음 우편번호 레이어를 off 상태로 변경한다. else { // 콜백함수를 실행하여 슬라이드 업 기능이 실행 완료후 작업을 진행한다. offDaumZipAddress(function() { element_wrap.style.display = "none"; return false; }); } } function offDaumZipAddress() { // 슬라이드 업 기능을 이용해 레이어 창을 닫는다. jQuery("#wrap").slideUp(); } </script> </head> <body> <input id="zonecode" type="text" value="" style="width:50px;" readOnly/> <input type="button" onClick="openDaumZipAddress();" value = "주소 찾기"/> <!-- 다음 우편번호 찾기 리스트를 띄울 영역을 지정 --> <div id="wrap" style="display:none;border:1px solid #DDDDDD;width:500px;margin-top:5px"></div> <div style="height:10px;"></div> <input type="text" id="address" value="" style="width:240px;" readOnly/> <input type="text" id="address_detail" value="" style="width:200px;"/> </body> </html> |
※ 계속 값을 체크해 강제로 display:none 처리한 이유
기본적으로 위에서 설명한 다음 우편번호 서비스의
"iframe을 이용하여 페이지에 끼워 넣기"를 필자의 입맛에 맞게 수정한 내용이다.
이렇게 한 이유는 좀 자연스러운 애니메이션(슬라이드) 효과를 사용하고 싶어서 였다.
그래서 위 코드에서는 if(jQuery("#wrap").css("display") == "none") 으로 한번
onclose:function(state) 기능으로 또 한번
다음 주소록 레이어를 강제로 종료시키고 있는데.
이렇게 한 이유는 아래와 같다.
처음 제작 했을때는 slideUp과 slideDown 기능이 아니라 slideToggle만을 사용하여 편하게
display 설정 만을 변경해가며 사용했었다.
그런데 다음 주소록 레이어가 제대로 종료가 되지 않아서 발생을 하는지.
실제 사용중 종종 <div id="wrap"></div>를 지정한 영역에
# slideToggle 기능만을 사용한 결과물
위와 같이 실선이 생기는경우가 발견되었다.
그래서 위와같이 callback과 slideDown기능을 사용하여 레이어를 한번 닫고.
작업이 완료된 이후 한번더 다음 주소록 레이어를 완전히 숨기는 방식으로 변경하였다.
# 출력결과 - Computer Web
# 출력결과 - Mobile Web
위와같이 모바일에서의 사용에 문제가 없게끔 변경해 보았다.
'API > 우편번호' 카테고리의 다른 글
[API] 주소 검색 - 행정안전부 API 사용하기 (0) | 2019.11.20 |
---|---|
[API] 다음 - 우편번호 API 사용하기 (0) | 2018.03.13 |
[CSS] 반응형 웹 - 변화하는 메뉴, 카테고리 만들기[CSS] 반응형 웹 - 변화하는 메뉴, 카테고리 만들기
Posted at 2018. 4. 4. 11:12 | Posted in CSS참고 : 모던 웹사이트 다지인의 정석
■ 내비게이션 메뉴를 토글 형태로
반응형 웹 제작중 컴퓨터에서 보여지는 메뉴를 모바일에 맞춘다는것은 쉬운일이 아니다.
이경우 완전히 UI 디자인을 다시 짜는경우가 많기에 화면 사이즈를 감지하고
화면 크기에 맞는 메뉴, 카테고리로 알맞게 화면에 띄워보자.
# 소스코드
<html> <!-- 내비게이션 메뉴, 창크기에 맞게 변화한다. --> <nav class="menuNav" id="menuNav"> |
# 출력결과 - Mobile Web
# 출력결과 - Computer Web
'CSS' 카테고리의 다른 글
[CSS] 자식선택자를 사용하여 특정 요소에만 효과 적용하기 (0) | 2018.04.09 |
---|
[PHP] 모바일 접속 여부 체크방법[PHP] 모바일 접속 여부 체크방법
Posted at 2018. 3. 29. 18:43 | Posted in PHP참고 : http://esajin.kr/291
■ HTTP_USER_AGENT를 사용한 디바이스 확인
-. $_SERVER['HTTP_USER_AGENT']는 사용자의 웹 접속환경에 관한 정보를 담고있는 전역변수이다.
-. 사용자가 데스크탑으로 접속하였는지 모바일로 접속하였는지 확인을 위해 쓰일 수 있다.
# 소스코드 - 어떤 디바이스를 통해서 접근했는지를 파악할 mobile_check.php
<?php class module { function mobileConcertCheck() { $mobileArray = array( $checkCount = 0; for($num = 0; $num < sizeof($mobileArray); $num++) { if(preg_match("/$mobileArray[$num]/", strtolower($_SERVER['HTTP_USER_AGENT']))) { $checkCount++; break; } } return ($checkCount >= 1) ? "mobile" : "computer"; } } ?> |
# 소스코드 - 접속 결과를 나타낼 screen_change.php
<?php include "./mobile_check.php"; $obj = new module(); if($obj -> mobileConcertCheck() == "mobile") { echo "현재 보고계신 화면은 모바일 입니다."; } else { echo "현재 보고계신 화면은 컴퓨터 입니다."; } ?> |
# 출력결과
'PHP' 카테고리의 다른 글
[PHP] PHPExcel 서식 변경하기 (2) | 2018.08.29 |
---|---|
[PHP] 변수에 달러 기호가 삽입되는경우 (0) | 2018.08.10 |
[PHP] DB 입출력시 따옴표( ' )를 처리방법 (0) | 2018.04.06 |
[PHP] PDO 사용법 정리 (7) | 2018.03.27 |
[PHP] ERROR : unterminated string literal (0) | 2018.03.19 |