Я пытаюсь использовать Систему. Сеть. Почта. Класс SmtpClient для передачи электронного письма через почтовый сервер моей компании. Всеми соединениями SMTP с почтовым сервером должен быть SSL, и он использует сам подписанный сертификат. Это хорошо для Outlook, где можно просто нажать ОК на диалоге предупреждения, но кто-либо знает способ заставить SmtpClient принимать сам подписанный сертификат?
Я - планирование использования этого приложения в Windows Azure Platform, таким образом, я не смогу установить сам подписанный сертификат как доверяемый корень.
Полностью от темы вашего первоначального вопроса, но возможно ли, что на самом деле вы хотели:
my $webpage = URI->new("http://domainname.co.uk/foo/bar.html");
my $path = $webpage->rel("http://domainname.co.uk/");
print "public_html/$path\n";
-121--4571429- $arrayNum = count($theArray);
for( $i = 0 ; $i < $arrayNum ; $i++ )
{
$fee_id_value = $theArray[$i]['fee_id'];
unset($theArray[$i]['fee_id']);
$theArray[$i]['id'] = $fee_id_value;
}
Это должно работать.
-121--1356044-Моя проблема заключалась в том, что класс .Net Smtp Client, очевидно, не поддерживает использование порта 465 для SSL-подключений SMTP. Порт 25 с самозаверяющим SSL-сертификатом работает правильно.
Вопрос форума MSDN System.Net Можно ли настроить Smtp Client для работы с самозаверяющим сертификатом? .
Можно взглянуть на свойство ServerCertificateValidationCallback:
ServicePointManager.ServerCertificateValidationCallback =
(sender, certificate, chain, sslPolicyErrors) => true;
Оно представляет собой обратный вызов, который вызывается во время выполнения при попытке проверки SSL-сертификата. Возвращая true
, вы, по сути, говорите, что вам все равно, действителен сертификат или нет -> вы всегда его принимаете. Конечно, наличие самоподписанных сертификатов в производственной среде не является хорошей идеей.