Google Apps
둘러보기로 가기
검색하러 가기
도메인만 있으면 자신만의 메일 주소를 가질 수 있는 Google Apps을 정리 한다.
- 라이선스 : 무료(기본형) 또는 유료(고급형, user당 $50)
목차
서비스 신청
Google Apps 주요 기능
- Google이 SKT와 협력하여 국내에 들어온지 얼마되지 않았는데, 벌써 최대 50명까지 무료로 사용할 수 있었던 무료 라이선스가 10명으로 줄었습니다.
기능 | 표준형 (Google Apps) |
고급형 (Google Apps for Business) | |
개요 |
|
| |
Gmail, Postini |
|
| |
Google Calendar |
| ||
Google Docs, Google Cloud Connect |
|
| |
Google Sites |
|
| |
Google Talk | |||
Google Groups |
|
| |
Google Video |
|
| |
Google Mobile | |||
Google Apps Script |
- Google Apps for Business
- 파트너 정책
- Google Apps Authorized Reseller
- http://www.google.com/apps/intl/en/business/resellers/index.html
Gmail
- 참고 문헌
Google Calendar
Google Docs
- 참고 문헌
Google Sites
Google Apps Script
Google Gadget
Gmail SMTP로 메일 발송
Gmail SMTP 서버 정보
- TLS 사용: smtp.gmail.com:587
- SSL 사용: smtp.gmail.com:465
Gmail for Ubuntu Server
- sendmail 등을 설치 한다.
#--- 환경 폴더: /etc/mail #--- 설치 폴더: /usr/share/sendmail apt-get install sendmail apt-get install sasl2-bin apt-get install sendmail-cf
- OpenSSL을 사용하여 sendmail에서 사용할 개인키와 공개키를 생성를 생성 한다.
- sendmail 인증 정보를 생성 한다.
cd /etc/mail mkdir auth cd auth vi /etc/mail/auth/authinfo AuthInfo:smtp.gmail.com "U:root" "I:[Gmail아이디]@gmail.com" "P:[Gmail비밀번호]" #---인증 파일의 hashdb(authinfo.db)를 생성 한다. makemap hash authinfo < authinfo #--- 인증파일경로의 퍼미션을 설정 한다. chmod 700 /etc/mail/auth chmod 600 /etc/mail/auth/*
- vi /etc/mail/sendmail.mc
include('/etc/mail/sasl/sasl.m4')dnl #--- Ubuntu Server에서만 추가 FEATURE(authinfo,hash /etc/mail/auth/authinfo)dnl define('SMART_HOST','smtp.gmail.com')dnl define('RELAY_MAILER_ARGS', 'TCP $h 587')dnl define('ESMTP_MAILER_ARGS', 'TCP $h 587')dnl define('confCACERT_PATH', '/etc/mail/certs')dnl define('confCACERT', '/etc/mail/certs/CAcert.pem')dnl define('confSERVER_CERT', '/etc/mail/certs/mycert.pem')dnl define('confSERVER_KEY', '/etc/mail/certs/mykey.pem')dnl define('confCLIENT_CERT', '/etc/mail/certs/mycert.pem')dnl define('confCLIENT_KEY', '/etc/mail/certs/mykey.pem')dnl define('confAUTH_MECHANISMS', 'EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl TRUST_AUTH_MECH('EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN') define('confAUTH_OPTIONS', 'A')dnl #--- 아래 라인 위에 추가 한다. MAILER(smtp)dnl
- sendmail.cf 생성
- CentOS
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf service sendmail restart
- Ubuntu Server
cd /etc/mail make #--- 필요한 경우 sendmail의 설정을 재 생성 한다. sendmailconfig /etc/init.d/sendmail start
- php.ini 설정
sendmail_path = /usr/sbin/sendmail -t
Gmail for CentOS
CentOS 5.5 버전에서 sendmail을 사용하여 Gmail을 연동하여 보자.
- sendmail 설치
yum install openssl sendmail sendmail-cf yum install cyrus-sasl cyrus-sasl-plain
- sendmail이 TLS 또는 SSL을 지원하는지 확인 한다.
#--- STARTTLS와 SASLv2가 있는지 확인 sendmail -d0.1 -bv root
- SASL 2.1.21 이상을 지원하는지 확인 한다.
yum list | grep sasl
- OpenSSL을 사용하여 sendmail에서 사용할 개인키와 공개키를 생성를 생성 한다.
- sendmail 인증 정보를 생성 한다.
cd /etc/mail mkdir auth cd auth vi /etc/mail/auth/authinfo AuthInfo:smtp.gmail.com "U:root" "I:[Gmail아이디]@gmail.com" "P:[Gmail비밀번호]" ### AuthInfo:smtp.gmail.com "U:root" "I:[Gmail아이디]@gmail.com" "P:[Gmail비밀번호]" "M:PLAIN" ### AuthInfo:smtp.gmail.com:587 "U:root" "I:[Gmail아이디]@gmail.com" "P:[Gmail비밀번호]" "M:PLAIN" #---인증 파일의 hashdb(authinfo.db)를 생성 한다. makemap hash authinfo < authinfo #--- 인증파일경로의 퍼미션을 설정 한다. chmod 700 /etc/mail/auth chmod 600 /etc/mail/auth/*
- vi /etc/mail/sendmail.mc
include('/etc/mail/sasl/sasl.m4')dnl #--- Ubuntu Server에서만 추가 FEATURE(authinfo,hash /etc/mail/auth/authinfo)dnl define('SMART_HOST','smtp.gmail.com')dnl define('RELAY_MAILER_ARGS', 'TCP $h 587')dnl define('ESMTP_MAILER_ARGS', 'TCP $h 587')dnl define('confCACERT_PATH', '/etc/mail/certs')dnl define('confCACERT', '/etc/mail/certs/CAcert.pem')dnl define('confSERVER_CERT', '/etc/mail/certs/mycert.pem')dnl define('confSERVER_KEY', '/etc/mail/certs/mykey.pem')dnl define('confCLIENT_CERT', '/etc/mail/certs/mycert.pem')dnl define('confCLIENT_KEY', '/etc/mail/certs/mykey.pem')dnl define('confAUTH_MECHANISMS', 'EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl TRUST_AUTH_MECH('EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN') define('confAUTH_OPTIONS', 'A')dnl #--- 아래 라인 위에 추가 한다. MAILER(smtp)dnl
- sendmail.cf 생성
- CentOS
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf service sendmail restart
- Ubuntu Server
cd /etc/mail make #--- 필요한 경우 sendmail의 설정을 재 생성 한다. sendmailconfig /etc/init.d/sendmail start
- 최종 확인
echo '/map authinfo AuthInfo:smtp.gmail.com' | /usr/sbin/sendmail -bt echo "this is a test" | sendmail -s aaa@test.co.kr #--- aaa@test.co.kr 메일함에서 메일을 확인 한다.
- 방화벽에서 587, 465 port를 개방 한다.
system-config-securitylevel
- 기타 sendmail 설정
- Access 설정
makemap hash /etc/mail/access.db < /etc/mail/access
- Mail host 설정
vi /etc/mail/local-host-names
- showinfo_sendmail.bash
#!/bin/bash echo 'sendmail 버전 : sendmail 8.13.8' echo '환경 파일 : vi /etc/mail/sendmail.mc' echo '기동 종료 : service sendmail restart' echo '서비스 확인 : ps -ef | grep sendmail | grep -v grep'
- php.ini 설정
sendmail_path = /usr/sbin/sendmail -t
서비스 업체별 POP3, SMTP 주소
- Defaut port
- smtp : 25 / tcp, POP3 : 110 / tcp, IMAP : 143 / tcp
- 보안 smtp : 587 / tcp, 보안 POP3 : 995 / tcp, 보안 IMAP :
- gmail.com (환경설정 - 전달 및 POP/IMAP - POP 다운로드 항목에서 사용설정을 해야 이용 가능)
- IMAP: imap.gmail.com (SSL 사용, 포트: 993)
- POP3: pop.gmail.com (SSL 사용, 포트: 995)
- SMTP: smtp.gmail.com (SSL 사용, 포트: 465)
- hanmail.net
- POP3: pop.hanmail.net (SSL 사용, 포트: 995)
- SMTP: smtp.hanmail.net (SSL 사용, 포트: 465)
- nate.com
- POP3: nate.com (포트: 110)
- SMTP: 지원 안함 (다른 업체의 SMTP를 이용하는 수 밖에 없음)
- naver.com (으뜸사용자만 이용 가능)
- POP3: pop.naver.com (포트: 110)
- SMTP: smtp.naver.com (포트: 25)
- yahoo.co.kr
- POP3: pop.mail.yahoo.co.kr (SSL 사용, 포트: 995)
- SMTP: smtp.mail.yahoo.co.kr (SSL 사용, 포트: 465, 인증 사용)
- yahoo.com
- POP3: pop.mail.yahoo.com (SSL 사용, 포트: 995)
- SMTP: smtp.mail.yahoo.com (SSL 사용, 포트: 465, 인증 사용)
참고 문헌
- Ubuntu Server
- CentOS
Outlook 설정
- Microsoft Outlook를 실행하여 "도구 -> 계정 설정 -> 새로 만들기" 메뉴를 선택 합니다.
- "Microsoft Exchange, POP3, IMAP 또는 HTTP"을 선택 합니다.
- "수동으로 서버 설정 또는 추가 서버 유형 구성"을 선택 합니다.
- "인터넷 전자 메일"을 선택 합니다.
- 필요한 정보를 입력하고 "기타 설정" 버튼을 선택 합니다.
- 사용자 이름 : 사용자 이름
- 전자 메일 주소 : 이메일 주소
- 계정 유형 : IMAP
- 받는 메일 서버 : imap.gmail.com
- 보내는 메일 서버 : smtp.gmail.com
- 사용자 이름 : 이메일 주소
- 암호 : 비밀번호
- 암호 저장 체크
- "고급" 탭을 선택하여 아래와 같이 설정 합니다.
- 받는 메일 서버 : 993
- 암호화된 다음 연결 방식 사용 : SSL
- 보내는 메일 서버 : 25
- 암호화된 다음 연결 방식 사용 : TLS
- "보내는 메일 서버" 탭을 선택하여 아래와 같이 설정 합니다.
- "보내는 메일 서버 인증 필요" 체크
- "받는 메일 서버와 동일한 설정 사용" 선택
개발자 가이드
GData Eclipse 개발 환경 설정
Eclipse에서 Google Data(GData) APIs Client Library를 사용할 수 있는 개발 환경을 구성 한다.
- Google Data(GData) APIs Client Library을 사용하려면 JDK 1.6 이상을 사용하여야 한다.
- gdata-java-client에서 gdata.java-1.41.5.zip를 다운로드 한다.
- d:/libGdata/ 폴더에 압축을 푼다.
- Eclipse Plugin 설치 : http://gdata-java-client-eclipse-plugin.googlecode.com/svn/update-site
- Eclipse에서 Google Data Project를 생성 한다.
- "Package Explorer"에서 오른쪽 마우스를 누른다.
- "new -> Others -> Google Data -> Google Data Project" 메뉴를 선택 한다.
- "Project name"을 입력하고 사용할 프로젝트 템플릿을 선택 한다.
- "Location"에서 "d:/libGdata/java/lib/" 폴더를 선택하고 "Finish" 버튼을 눌러 프로젝트를 생성 한다.
- Class not found 오류가 발생할 경우에는
- Google App Engine에서 "google-collect-1.0.jar" 가져와서 라이브러리에 등록하여 사용 한다.
Google Apps API
Google Apps |
|
Google Data Protocol |
|
Google Apps Script |
|
Google Secure Data Connector |
|
OpenID Single Sign-On
- OpenID 2.0 Standard
- 참고 문헌
SAML Single Sign-On
- SAML (Security Assertion Markup Language)
- SAML v2.0 Standard XML-based framework
- 사용자 인증(authentication)과 권한(authorization) 정보를 교환하도록 허용
- SAML을 구현한 Java 기반의 오픈소스
- Google Apps 관리자 설정 메뉴
- "Advanced tools -> Set up sign-on (SSO)" : SSO 정보과 인증서 정보(public key) 설정
- "Advanced tools -> Two-step verification" : 새로운 장비에서 로그인시 핸드폰으로 인증 코드 발송
- 참고 문헌
Google Apps with two-legged OAuth
- Two-legged OAuth를 사용하여 Google Calendar에 접속하는 사례
- Google Apps 관리자 화면에서 "Advanced tools" 메뉴를 선택 한다.
- "Manage OAuth domain key" 링크를 선택 한다.
- OAuth consumer key : 프로그램에서 CONSUMER_KEY로 사용, consumer key를 사용 가능하도록 체크 한다.
- OAuth consumer secret : 프로그램에서 CONSUMER_SECRET로 사용
- Two-legged OAuth access control : 모든 API를 사용할 수 있도록 선택 한다.
- "Manage third party OAuth Client access" 링크를 선택하여 접근 권한을 설정 한다.
- https://apps-apis.google.com/a/feeds/user/#readonly : Read only
- https://docs.google.com/feeds/ : Read/Write
import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.util.List; import com.google.gdata.client.authn.oauth.GoogleOAuthParameters; import com.google.gdata.client.authn.oauth.OAuthException; import com.google.gdata.client.authn.oauth.OAuthHmacSha1Signer; import com.google.gdata.client.authn.oauth.OAuthParameters.OAuthType; import com.google.gdata.client.calendar.CalendarService; import com.google.gdata.data.calendar.CalendarEntry; import com.google.gdata.data.calendar.CalendarFeed; import com.google.gdata.util.ServiceException; //--- http://code.google.com/intl/ko-KR/apis/gdata/docs/auth/oauth.html public class Calendar { private static String CONSUMER_KEY = "xxxx"; private static String CONSUMER_SECRET = "xxxx"; private static String userID = "xxxx"; //--- Google Apps 사용자의 로그인 아이디 (@앞의 것) public static void main(String[] args) { GoogleOAuthParameters oauthParams = null; CalendarService calendar = null; URL metafeedUrl = null; CalendarFeed resultFeed = null; oauthParams = new GoogleOAuthParameters(); oauthParams.setOAuthConsumerKey(CONSUMER_KEY); oauthParams.setOAuthConsumerSecret(CONSUMER_SECRET); oauthParams.setOAuthType(OAuthType.TWO_LEGGED_OAUTH); calendar = new CalendarService("My Application"); try { calendar.setOAuthCredentials(oauthParams, new OAuthHmacSha1Signer()); metafeedUrl = new URL("http://www.google.com/calendar/feeds/default/allcalendars/full?xoauth_requestor_id=" + userID + "@" + CONSUMER_KEY); resultFeed = calendar.getFeed(metafeedUrl, CalendarFeed.class); } catch (OAuthException e1) { e1.printStackTrace(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (ServiceException e) { e.printStackTrace(); } List<CalendarEntry> entries = resultFeed.getEntries(); for (int i = 0;i < entries.size();i++) { CalendarEntry entry = entries.get(i); System.out.println("\t" + entry.getTitle().getPlainText()); } System.out.println("\nTotal Entries: "+entries.size()); } }
- 참고 문헌
관리자 가이드
무료 DNS 업체
- http://kr.dnsever.com/ : 무료 DNS서비스 제공, 도메인수에 제한 없음
- http://www.zoneedit.com/ : 5개의 도메인 무료
Google Apps 서비스 (Premier Edition)
- Google Apps (Premier Edition) 관리자 콘솔의 메뉴/기능
Dashboard |
|
Organization & users |
|
Groups |
|
Domain settings |
|
Advanced tools |
|
Support |
|
Service Settings |
|
- Mail, Calendar, Talk, Doc List, Documents, Spreadsheets, Presentations, Drawings, Sites
- Video for business, Groups, Admin control panel / API, Postini Services
참고 사이트
Deployment
- Deployment Tools or Help
Development
- gdata-samples : Google Apps API를 사용한 Sample 코드 제공
- goolge apps sso sample
- API and Library
- Google Data Protocol : API Directory
- Google Data Protocol : Client Libraries
- gdata-java-client : Google Apps Java Client Library
- <script type="text/javascript" src="http://www.google.com/jsapi"></script> : Google Apps JavaScript Library
Reseller
참고 문헌
- 우분투 서버를 사용하여 Google Apps 신청하구 MX 설정방법 (Bind 사용), 2009.1
- 내 도메인으로 사용하는 구글의 메일 (Google Application), 2009.10
- Google Apps 판매 업체