Получение писем в Salesforce

Получение писем в Salesforce

О сенсеи, вот такой возник вопрос:
как в Salesforce проводить какие-то операции с входящими письмами! Преодолевая стыд спрошу ещё и как ВООБЩЕ хотя бы глянуть на эти письма?!
Всё, что мне пока удалось нагуглить - это очевидный InboundEmail. Но с какой стороны его присобачить -никаких идей. Без вас никак!

Sebastian Pareyro
Но с какой стороны его присобачить

Сзади

https://www.salesforce.com/us/developer/docs/apexcode/Content/apex_classes_email_inbound_using.htm
?

Почитай еще про Email to Salesforce, может будет полезно
https://help.salesforce.com/apex/HTViewHelpDoc?id=email_my_email_2_sfdc.htm
(сам не использовал)

RasMisha
https://www.salesforce.com/us/developer/docs/apexcode/Content/apex_classes_email_inbound_using.htm
?

вот тут немного подробнее
https://developer.salesforce.com/page/An_Introduction_To_Email_Services_on_Force.com

С П А С И Б О!
Начало проясняться!

Потом как получится сделать твой таск расскажи пожалуйста в двух словах что ты планировал сделать и что из этого получилось.

Обязательно! Но вряд ли это будет раньше следующей недели, т.к. быстро я не умею. Я ещё не настоящий сварщик.

Короче, что-то я переоценил сложность задачи. Заняла она несколько часов (и те потрачены на ознакомление с эмейл сервисом). Не знаю, есть ли смысл описывать таск, т.к. он был чисто учебным и простым, как выяснилось, даже для меня.

Ну конечно есть смысл. В двух словах и небольшой пример кода.
Кому-нибудь пригодится. А может кто искать будет в интернете и придет на наши форум как раз за этой информацией

Если кратко, то целью было следующее:
При получении письма список контактов проверяется на наличие адреса, с которого письмо пришло, если такой найдётся, то при наличии прикреплённого файла в письме, этот файл аттачится в этот контакт. Если контакта такого нет, то создаётся новый, с именем отправителя и по той же схему аттачмент.
Также при загрузке файла проверяется, нет ли такого среди загруженных, если есть - то переименовывается, а после этого всего отправляется на дропбокс - но это уже отдельная история, не относящаяся к теме.

//Собственно, класс для работы с входящими письмами

global class GetEmailClass implements Messaging.InboundEmailHandler {
Public contact Contact {get; set;}

global Messaging.InboundEmailResult handleInboundEmail(Messaging.InboundEmail email, Messaging.Inboundenvelope envelope) {
Messaging.InboundEmailResult result = new Messaging.InboundEmailResult();
//Проверка контактов на наличие почты с таким адресом
List <Contact> Contactadress = [SELECT Id, Name, Email From Contact
WHERE Email = :email.fromAddress];
//При отсутствии такого контакта создаём новый
if (Contactadress.isEmpty()){
//Имя для контакта создаём из имени владельца почты, делая split по пробелу
List<String> SplitNames = email.fromName.split(' ');
Contact = new Contact();
Contact.FirstName = SplitNames[0];
Contact.LastName = SplitNames[1];
Contact.Email = Email.fromAddress;
insert Contact;
}
else {
Contact = Contactadress[0];
}
//Ну и загрузка аттачмента из прикреплённого к письму файла
for (Messaging.Inboundemail.binaryAttachment biattachment : email.binaryAttachments) {
Attachment attachment = new Attachment();
attachment.Name = biattachment.fileName;
attachment.Body = biattachment.body;
attachment.ParentId = Contact.id;
insert attachment;
}

Ну, как смог.

Отличный пример. Спасибо большой.
Однозначно полезный материал.
Многим, кто не сталкивался будет хорошим пособием.

Только вот небольшое замечание - если не ошибаюсь, то у Contact Lastname является обязательным полем.
Вот здесь

List<String> SplitNames = email.fromName.split(' ');

Contact = new Contact();
Contact.FirstName = SplitNames[0];
Contact.LastName = SplitNames[1];

может случиться проблема если fromName не будет состоять из двух слов. Но это уже не относится к самой теме

Да, точно. Я упустил из виду. Спасибо!

Interesting information? Help us, post link to social media..