user eddy[at]sadaweb[dot]com, selain bisa menerima dari eddy[at]sadaweb[dot]com, juga bisa menerima email dari eddy.mulyono[at]sadaweb[dot]com dan masuk pada Mailbox yang sama.
Sedangkan apabila user juga ingin mengirim email menggunakan Nickname/Alias yang dia miliki, maka dia harus melakukan langkah-langkah tambahan yang harus dilakukan dari halaman Setting GMail sebagai mana yang dijelaskan pada tutorial berikut.
Apabila Anda adalah seorang Administrator Google Apps yang tidak mau membebani end-user untuk melakukan langkah-langkah tambahan tersebut, Anda bisa memanfaatkan Provisioning API dan Email Settings API untuk mengotomatisasi proses ini.
Authorize API dengan OAuth 2.0
#Generate Client ID dan Client Secret dari https://code.google.com/apis/console/ CLIENT_ID = 'xxxxxxxxxxxx.apps.googleusercontent.com' CLIENT_SECRET = 'xxxxxxxxxxxxxxxxxxxxxxxxx' #Scope untuk Provisioning API (User dan Alias) dan Email Setting API SCOPE = 'https://apps-apis.google.com/a/feeds/user/ https://apps-apis.google.com/a/feeds/alias/ https://apps-apis.google.com/a/feeds/emailsettings/2.0/' USER_AGENT = 'GApps-Alias2SendAs/0.1' #Diawal kosong, namun apabila sudah generate bisa langsung di hard-code disini suapaya tidak melakukan Authorize berulang-ulang REFRESH_TOKEN = '' def genenrate_oauth_token(): global REFRESH_TOKEN token = gdata.gauth.OAuth2Token( client_id=CLIENT_ID, client_secret=CLIENT_SECRET, scope=SCOPE, user_agent=USER_AGENT, refresh_token=REFRESH_TOKEN) if (REFRESH_TOKEN == ''): uri = token.generate_authorize_url() print 'Please visit this URL to authorize the application:' print uri code = raw_input('What is the verification code? ').strip() code token.get_access_token(code) #cache to config print 'Refresh token: ' + token.refresh_token REFRESH_TOKEN = token.refresh_token return token
Retrieve Nickname menggunakan Provisioning API
import gdata.apps.multidomain.client; ... def retrieve_alias(email): username = email[:email.find('@')] domain = email[email.find('@')+1:] multiDomainClient = gdata.apps.multidomain.client.MultiDomainProvisioningClient(domain=domain) token = genenrate_oauth_token() token.authorize(multiDomainClient) multiDomainClient.ssl = True response = multiDomainClient.RetrieveAllUserAliases(email) for entry in response.entry: print 'Email: %s, Alias: %s' % (entry.GetUserEmail(), entry.GetAliasEmail())
Setup Send-As menggunakan Email Settings API
import gdata.apps.emailsettings.client ... def create_sendas(email, alias): username = email[:email.find('@')] domain = email[email.find('@')+1:] client = gdata.apps.emailsettings.client.EmailSettingsClient(domain=domain) token = genenrate_oauth_token() token.authorize(client) client.ssl = True response = client.CreateSendAs(username=username, name=alias, address=alias, make_default=False)
Download full source code: http://goo.gl/wCVOd
Sample code ini akan sangat bermanfaat bagi Anda yang memaksimalkan fungsi Alias/Nickname untuk semua user Google Apps do Organisasi Anda. Contoh yang pernah saya temui, ada suatu institusi yang mengharuskan user-user mereka Login ke Google Apps menggunakan Nomor Induk atau ID, yang sulit diingat sebagai alamat email. Sehingga mereka juga setup Nickname yang menggunakan nama user, yang tentu saja lebih mudah diingat.
Semoga bermanfaat!