By-default, Nickname atau alias yang di-set pada Google Apps Control Panel hanya berfungsi untuk menerima email. Seperti pada contoh gambar berikut:
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)
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!