Прежде всего, есть провайдеры для этого, которые очень хорошо взаимодействуют с WebServices и другими методами связи. Попробуйте поискать Пригласить API, которое соответствует вашим потребностям. Я бы не стал настраивать контроллер «Пригласить по электронной почте», как предполагают другие, есть «опасность», когда вы отправляете почту самостоятельно.
Допустим, что страница, которую вы разрабатываете, заглядывает и имеет много посетителей, например, 2000 посетителей одновременно, и все они хотят пригласить 10 друзей, а теперь это 20 000 приглашений. Если бы вы запросили 20 000 отправок SMTP с вашего сервера, многие серверы занесут вас в черный список, теперь это нехорошо.
Итак, вам нужно создать немного больше процесса предварительных приглашений, вы можете сохранить все приглашения в базе данных и использовать планировщик для отправки 10 писем в минуту, либо использовать стороннего поставщика, который может обрабатывать большое количество приглашений.
Никогда не думай о малом
Если вы хотите пригласить через Facebook, MySpace, Twitter или что-то еще, о чем вы можете подумать, для этого есть API, которыми нетрудно управлять.