I have a google app script that collects new member registration from a form and adds the member email address to a google group.
the problem is that, sometimes, even though the address is legal, for ex. "[email protected]" the address does not exists. when I use the AdminDirectory.Members.insert(member, 'GroupName@GroupDomain') it will return error "resource not found". which I want to avoid in advance.
The question is how can I validate the email address to be an existing email address in advance by using a script command or library
I am using the following code:
function AddNewMember(LastEntryMail)
{
var NewMember =
{
email: LastEntryMail,
role: 'MEMBER'
};
var MemberExist = false;
var pageToken, page;
var groupEmail = 'mygroupname@mygroupdomain';
var groupDomainName = 'mygroupdomain';
do
{
page = AdminDirectory.Members.list(groupEmail,{
domain: groupDomainName,
orderBy: 'Email',
maxResults: 200,
pageToken: pageToken
});
var GroupMembers = page.members;
for (var m in GroupMembers)
{
var email = GroupMembers[m].email;
if(email == LastEntryMail)
{
MemberExist = true;
break; //stop the for loop
}
}
if(MemberExist == true)
{
break; //stop the do loop
}
else //new member email was not found in current page members list. go to next page
{
pageToken = page.nextPageToken;
}
} while (pageToken);
if(MemberExist == false)
{
AdminDirectory.Members.insert(NewMember, groupEmail);
}
}
I know that I can catch the errors but I want to try and avoid errors as each error invokes the automatic mails etc...
google-apps-scripttag that you can use for questions on this topic. I've added it this time :) - Joe Clay