문자열 연산자

  정수끼리의 합은 "+"로 표시하지만,
  하지만 문자열 끼리의 합은 점(".")연산자로 표시하죠

   //문자열 연산자

   $a="php";
   $b="와";
   $c="mysql";
   $d=$a.$b.$c."";
  
   echo $d;

   //숫자를 문자열 연산자로 쓸 경우

   $e=12;
   $f=34;
   $g=$e.$f."";
   echo $g;

        결과 : php와mysql
                 1234
          
        설명 : 문자열끼리의 연산인 경우 문자열을 이어주고 숫자를 문자열 연산자로 쓴
               경우는 php가 데이터 형태를 연산에 따라 자동으로 처리하기 때문에
               숫자연산이 아닌 문자열 연산으로 판단하여 46이 아닌 1234로 표현하게
               됩니다. 


출처 - http://drchkim.com/bbs/view.php?id=ch_03&page=6&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=subject&desc=asc&no=97



'Development > PHP' 카테고리의 다른 글

php - PDT 설치  (0) 2013.05.13
php - mail() 함수 사용시 한글 깨짐 문제  (0) 2013.04.06
php - mail  (0) 2013.04.06
copyright 년도 자동표기하기  (0) 2013.03.06
php - include vs require  (0) 2013.01.08
Posted by linuxism
,

php - mail

Development/PHP 2013. 4. 6. 16:49


Headers are the parts seen at the top of emails. Typically :

To :A comma seperated list of recipient emails.
From :The senders email address.
Reply-To :The email address where replies should be sent to.
Return-Path :Kinda the same thing as the Reply-To. Some email clients require this, others create a default.
Subject :Subject of the email.
CC :Carbon Copy. A comma seperated list of more recipients that will be seen by all other recipients.
BCC :Blind Carbon Copy. A comma seperated list of more recipients that will not be seen by any other recipients.

The TO and SUBJECT filds have already been discussed as the first and second variables in the MAIL command. The extra headers seen above can be entered as a 4th variable in the MAIL command. 

<?php
mail("yourplace@somewhere.com","My email test.","Hello, how are you?","From: myplace@here.com\r\nReply-To: myplace2@here.com\r\nReturn-Path: myplace@here.com\r\nCC: sombodyelse@noplace.com\r\nBBC: hidden@special.com\r\n");
?>

Looks kinda messy when it's all in there without using variables. That above example has all of the extra headers being declared. You may specify all or some or none as you desire. There are 2 very important things to note here : 

1.These headers need their NAMES: shown unlike the first three variables in the mail command. The header names are CaSe SeNsItIvE. Use per example.
2.Each header is ended with the Return and Newline characters. \r\n There are no spaces between each header.

For better organization, these extra headers can be declared in a variable string like our previous examples. 

<?php
$to = "yourplace@somewhere.com";
$subject = "My email test.";
$message = "Hello, how are you?";

$headers = "From: myplace@here.com\r\n";
$headers .= "Reply-To: myplace2@here.com\r\n";
$headers .= "Return-Path: myplace@here.com\r\n";
$headers .= "CC: sombodyelse@noplace.com\r\n";
$headers .= "BCC: hidden@special.com\r\n";

if ( mail($to,$subject,$message,$headers) ) {
   echo "The email has been sent!";
   } else {
   echo "The email has failed!";
   }
?>

The $headers variable could have been typed out into one long string, but that is a bit much when it comes to editing and viewability. Instead our example shows each one seperated and the .= combines them together.


출처 - http://www.htmlite.com/php029.php



'Development > PHP' 카테고리의 다른 글

php - mail() 함수 사용시 한글 깨짐 문제  (0) 2013.04.06
php - 점(.) 연산자  (3) 2013.04.06
copyright 년도 자동표기하기  (0) 2013.03.06
php - include vs require  (0) 2013.01.08
php - date() 오류  (0) 2012.07.21
Posted by linuxism
,

POP & IMAP

System/Protocol 2013. 4. 6. 11:30


POP3 (Post Office Protocol version 3)는 응용 계층 인터넷 프로토콜 중 하나로, 원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져오는데 사용된다. 여러 버전의 POP 프로토콜이 개발 되었지만 일반적으로 POP를 지칭하는 경우 보통 POP3을 가리킨다. 윈도 라이브 핫메일G메일, 및 Yahoo! 메일과 같은 대부분의 웹 메일에서 지원한다.

대부분의 이메일 프로그램이 서버에 이메일을 남겨두는 기능을 제공하지만, POP는 원격 서버에 접속해서 이메일을 가져온 후 서버에서 이메일을 삭제한다. 반면 IMAP와 같은 다른 프로토콜은 이메일을 남겨두는 등 좀 더 복잡하고 많은 기능을 제공한다.

[편집]역사

POP1은 RFC 918 (1984)에, POP2는 RFC 937 (1985)에 정의되어 있다. POP3는 원래 RFC 1081 (1988)에 정의 되었다가 현재는 확장 기능을 보강항 RFC 1939에 정의되어 있다.


Post Office Protocol (우체국 프로토콜 POP )은 전자 메일에서 사용되는 프로토콜 (통신 규약)의 하나. 사용자가 메일 서버 에서 메일을 꺼낼 때 사용하는 메일 수신 프로토콜. 현재는 향상된 POP3 (POP Version 3)이 사용되고있다.

목차

  [ 숨기기 ] 

개요 편집 ]

이메일은 언제 · 누구로부터 보내져 오는 모르겠어요. 그러나 사용자가 자신의 컴퓨터를 항상 인터넷에 연결하여 메일을 수신 할 수 있도록 대기시켜 둘 필요는 없다. 이것은 인터넷 서비스 공급자 (ISP)와 기업 네트워크에 메일을 배달 · 수신하는 메일 서버가 설치되어있어 메일 서버가 항상 메일을 수신 할 수 있도록 대기하고 있기 때문이다. 메일 서버에 메일이 도착한 후 사용자가 메일 서버에서 메일을 꺼내 자신의 컴퓨터에 넣으면된다. 이 때 사용되는 프로토콜 POP이다.이 작업은 우체국 (메일 서버)에 전달 된 편지를 사용자가 우체국에 가서 작업 비슷하다. 메일 서버에 메일이 도착 해 있는지도 POP에서 확인할 수있다.

POP 사용자 인증 기능을 메일을 보낼 때 보낸 사람 인증에 사용할 수 있으며,이를 POP before SMTP 한다.

사용하는 TCP 포트 번호 편집 ]

일반적으로 POP2는 109 번, POP3는 110 번을 사용한다.

사용자 인증 방법 편집 ]

인증 방법으로 평문 의 USER / PASS 인증 이 널리 사용되고 있지만, 서버 / 클라이언트 모두가 대응하고 있으면, 옵션 명령이다 APOP ( RFC 1460 에서 추가) 및 확장이다 SASL 메커니즘을 이용한 AUTH 명령 등을 이용하여 인증 을 암호화하고 암호 유출을 방지 할 수있다. 그러나 그들을 사용해도 인증 부분 만 암호화 된 것으로서, 기타 메일 헤더와 본문 등의 내용은 평문 상태이다.

IPA : APOP 이용을 종료하고 SSL 사용을 권고 (2007 년 4 월) 편집 ]

APOP 암호화 된 내용의 해석에 대해서는 전기 통신 대학 의 오오타 카즈오 교수 의 연구 그룹이 분석을 성공시켰다 [1] [2] [3] . 이 취약점은 MD5 해시 방식을 APOP에서 부적절하게 사용되는지의 프로토콜 (통신 규약) 문제이며, 현재 근본적인 대책 방법은 존재하지 않는다. 따라서 내용을 누설하지 않기 위해서는 STARTTLS 및 POP over SSL(포트 번호는 995 번) 등을 이용하여 SSL 로 통신하고 네트워크 경로를 암호화 할 필요가있다.

또한 미국 정부 ( NIST (미국 국립 표준 기술 연구소) ) 및 일본의 CRYPTREC (암호화 기술 평가 프로젝트) 에서는 이미 MD5 / APOP를 권장에서 분리, SHA 의 사용을 요구하고있다.

RFC 편집 ]

각주 편집 ]

도움말 ]

관련 항목 편집 ]







IMAP(Internet Message Access Protocol는 응용 계층 인터넷 프로토콜 중 하나로, 원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져오는데 사용된다. IMAP는 온라인 모드와 오프라인 모드를 모두 지원하므로 POP3를 사용할 때와 달리 이메일 메시지를 서버에 남겨 두었다가 나중에 지울 수 있다. 그러므로 다른 컴퓨터 환경에서 서로 다른 이메일 클라이언트가 같은 이메일을 받아올 수 있는 장점을 가지고 있다.

이메일 메시지는 서버로 보내져 받는 사람의 이메일 보관함에 저장된다. 사용자는 마이크로소프트 아웃룩모질라 선더버드 같은 메일 클라이언트를 사용하여 편지의 기본 헤더(제목, 송신자명, 이메일 주소 등)를 보고 메일 본문의 다운로드 여부를 정할 수도 있다. 하지만, POP3에 비해 IMAP는 메일 서버와의 통신 트래픽이 높은 단점을 가지고 있다.


Internet Message Access Protocol (인터넷 메시지 액세스 프로토콜 IMAP )는 메일 서버 에서 이메일 에 액세스하고 조작하기위한 프로토콜 . 클라이언트와 서버가 TCP 를 사용하여 통신하는 경우 일반적으로 서버 측은 IMAP2, IMAP4에서는 포트 번호 143 번, IMAP3에서 220 번을 이용한다.

목차

  [ 숨기기 ] 

개요 편집 ]

POP 는 사용자가 이용중인 서버에서 클라이언트로 메일을 다운로드하고 다운로드가 끝난 메일 서버에서 제거하는 것이 표준적인 이용 형태로하는 반면, IMAP은 메일을 메일 서버에 저장 한 채로 관리 ( RFC 1733 참조). 이 특성은 여러 컴퓨터에서 동일한 계정 의 메일을 읽을 때 메일 읽지 않은 상태 등의 특성이나 메일 폴더의 구성 등이 중앙에서 관리 할 수있는 이점이있다. 프로토콜 사양이 복잡했기 때문에 그다지 널리 보급 않았지만, Netscape 및 Internet Explorer 에 표준으로 포함되어있는 메일 소프트가 IMAP4에 대응하고 또한 상호 접속 시험 및 프로토콜의 다양한 수정 · 확장하여 상호 운용성 가능성이 높아졌다 때문에 이용자가 퍼졌다.

POP와 비교 편집 ]

POP는 다음과 같은 장점과 단점을 가진다.

  • POP 프로토콜은 항상 연결이 아닌 네트워크 접근에 유리하다.
  • 사용자는 메일의 로컬 복사본을 검색하고 메일을 오프라인으로 읽을 수있다.
  • 메일 폴더는 MUA 보다 관리 프로토콜에 포함되어 있지 않다.
  • 일반적으로 메일 서버에서 취득 된 직후에 제거한다. 즉 서버는 읽지 않은 메일 만 보관 해두면 좋다.
  • 여러 기기에서 메일을 검색하면 다른 기기에서 다운로드 한 로컬 복사본에 액세스 할 수 없습니다.
  • 메일을 서버에 저장하는 수단이 없다.
  • 메일을 가져올 때 메일의 일부만을 취득하는 수단이 옵션이되고있다.

IMAP은 POP의 장점을 살리면서 단점을 해소하고있다.

  • IMAP 프로토콜은 온라인 오프라인 머지 않아에서도 유효하다.
  • 오프라인 작업 MUA 측에서 트랜잭션 로그로 저장하고 서버에 연결되면 커밋하는 것으로 반영있다.
  • 일반적으로 메일 서버에 항상 저장된다. 로컬 복사본을 검색 한 시점에서 서버에서 제거 할 수도있다.
  • 여러 기기에서 메일 상태를 중앙에서 관리 할 수​​있다. 여러 기기에서 동일한 이메일을 읽을 수있다.
  • 메일 폴더는 프로토콜의 일부로 표준화되고, 메일 소프트의 종류에 관계없이 폴더를 관리 할 수​​있다.
  • 메일의 일부만 가져있다. 헤더 만 검색 여러 부분의 텍스트 부분 만 가져 오기 등의 작업이 가능하다.
  • 메일을 서버에 저장하는 방법이있다. 전체 폴더의 스냅 샷을 다른 서버로 전송할 수도있다.
  • IMAP4 더 오래된 IMAP은 원격 실행의 프로토콜의 복잡성과 보안 문제가 있었다. IMAP4는 개선되었다.
  • 메일 서버는 메일의 원본을 관리해야한다. 대규모 시스템에서는 막대한 양의 메일 관리가 필요하다.

IMAP의 채용 예 편집 ]

서버 편집 ]

클라이언트 편집 ]

서비스 편집 ]

RFC 편집 ]

  • RFC 5464 - The IMAP METADATA Extension
  • RFC 5258 - Internet Message Access Protocol version 4 - LIST Command Extensions
  • RFC 5257 - Internet Message Access Protocol - ANNOTATE Extension
  • RFC 5256 - Internet Message Access Protocol - SORT and THREAD Extensions
  • RFC 5255 - Internet Message Access Protocol Internationalization
  • RFC 5182 - IMAP Extension for Referencing the Last SEARCH Result
  • RFC 5162 - IMAP4 Extensions for Quick Mailbox Resynchronization
  • RFC 5161 - The IMAP ENABLE Extension
  • RFC 5092 - IMAP URL Scheme
  • RFC 5032 - WITHIN Search Extension to the IMAP Protocol
  • RFC 4978 - The IMAP COMPRESS Extension
  • RFC 4959 - IMAP 확장 for Simple Authentication and Security Layer (SASL) Initial Client Response
  • RFC 4731 - IMAP4 Extension to SEARCH Command for Controlling What Kind of Information Is Returned
  • RFC 4551 - IMAP Extension for Conditional STORE Operation or Quick Flag Changes Resynchronization
  • RFC 4550 - Internet Email to Support Diverse Service Environments (Lemonade) Profile
  • RFC 4549 - Synchronization Operations for Disconnected IMAP4 Clients
  • RFC 4469 - Internet Message Access Protocol (IMAP) CATENATE Extension 일본어 번역 )
  • RFC 4468 - Message Submission BURL Extension
  • RFC 4467 - Internet Message Access Protocol (IMAP) - URLAUTH Extension
  • RFC 4466 - Collected Extensions to IMAP4 ABNF
  • RFC 4416 - Goals for Internet Messaging to Support Diverse Service Environments
  • RFC 4315 - Internet Message Access Protocol (IMAP) - UIDPLUS extension
  • RFC 4314 - IMAP4 Access Control List (ACL) Extension
  • RFC 3691 - IMAP UNSELECT command
  • RFC 3516 - IMAP4 Binary Content Extension
  • RFC 3503 - Message Disposition Notification (MDN) profile for IMAP
  • RFC 3502 - IMAP MULTIAPPEND Extension
  • RFC 3501 - INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1
  • RFC 3348 - IMAP4 Child Mailbox Extension
  • RFC 2971 - IMAP4 ID extension
  • RFC 2683 - IMAP Implementation Recommendations
  • RFC 2595 - Using TLS with IMAP4, POP3 and ACAP
  • RFC 2359 - IMAP4 UIDPLUS extension RFC 4315 에 의해 개정)
  • RFC 2061 - IMAP4 COMPATIBILITY WITH IMAP2BIS
  • RFC 2060 - INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1 RFC 3501 에 의해 개정)
  • RFC 1733 - DISTRIBUTED ELECTRONIC MAIL MODELS IN IMAP4
  • RFC 1732 - IMAP4 COMPATIBILITY WITH IMAP2 AND IMAP2BIS
  • RFC 1731 - IMAP4 Authentication Mechanisms
  • RFC 1730 - INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4 RFC 2060 에 의해 개정)
  • RFC 1203 - INTERACTIVE MAIL ACCESS PROTOCOL - VERSION 3
  • RFC 1176 - INTERACTIVE MAIL ACCESS PROTOCOL - VERSION 2
  • RFC 1064 - INTERACTIVE MAIL ACCESS PROTOCOL - VERSION 2 RFC 1176 , RFC 1203 에 의해 개정)

관련 항목 편집 ]






'System > Protocol' 카테고리의 다른 글

tcp - TIME_WAIT를 남기지 않는 세션종료 (Graceful Shutdown)  (0) 2013.07.02
SMTP(MTA, MUA, MSA, MDA)  (0) 2013.04.06
Posted by linuxism
,