Показать сообщение отдельно
Старый 23.06.2018, 18:10   #21  
TDV is offline
TDV
Участник
 
128 / 30 (2) +++
Регистрация: 04.11.2005
Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
TVD, как прошедший мой путь, просьба .
Сталкивались ли Вы с тем, что письма, циркулирующие внутри экземпляра Exchange и поступившие из вне имеют разные свойства? Если сталкивались, то как можно получить адреса в случае, если письмо получено из внешнего ящика?
День добрый, подобной разницы не было. Одинаково определяются все реквизиты без проблем. Еще раз проверил, с mail.ru на корпоративную отправил письмо, все нормально определяется, почта отправителя, его имя, и почта получателя. В стороннем HD тоже всегда все ОК, Даже если отсылают на рассылку которая пересылает письмо внутри Exchange на почтовый адрес, то все определяется. На всякий случай ниже кусок кода где я это делал(продолжение того что в моем первом посте как пример приводил)
PHP код:
 if (direct == "")
                    {

                        
res[0] = emailMessage.From.Address;
                        
res[1] = emailMessage.From.Name;
                    }
                    else
                    {
                        
res[0] = emailMessage.ToRecipients.ToString();
                        
res[1] = emailMessage.DisplayTo;
                    }
                    
res[2] = message.Subject;
                    
res[3] = message.Body;
                    if (
direct == "")
                    {
                        
res[4] = Convert.ToString(message.DateTimeReceived);
                    }
                    else
                    {
                        
res[4] = Convert.ToString(message.DateTimeSent);
                    }

                    
                    
int co 1;
                    if (
direct != "")
                    {
                        
res[5] = message.Id.ToString();

                    }
                    


                    
int iIdx 0;
                    
                    for (
iIdx 0iIdx emailMessage.CcRecipients.CountiIdx++)
                    {
                        if(!
res[7].Contains(emailMessage.CcRecipients[iIdx].Address.ToString()+";"))
                        
res[7] += emailMessage.CcRecipients[iIdx].Address.ToString() + ';';
                    }
                    for ( 
iIdx 0iIdx emailMessage.ToRecipients.CountiIdx++)
                    {
                        if (!
res[7].Contains(emailMessage.ToRecipients[iIdx].Address.ToString() + ";"))
                        
res[7] += emailMessage.ToRecipients[iIdx].Address.ToString() + ';';
                    }
                    
iIdx 0;
                    
                    for (
iIdx 0iIdx emailMessage.BccRecipients.CountiIdx++)
                    {
                        if (!
res[7].Contains(emailMessage.BccRecipients[iIdx].Address.ToString() + ";"))
                        
res[7] += emailMessage.BccRecipients[iIdx].Address.ToString() + ';';
                    }
                    
                    if (
emailMessage.IsReadReceiptRequested == trueres[8] = "1"
За это сообщение автора поблагодарили: Raven Melancholic (5).