Как включить SSL для SmtpClient в Web.config

Используйте PDO и подготовленные запросы.

($conn - объект PDO)

$stmt = $conn->prepare("INSERT INTO tbl VALUES(:id, :name)");
$stmt->bindValue(':id', $id);
$stmt->bindValue(':name', $name);
$stmt->execute();
27
задан O. Jones 23 September 2015 в 14:00
поделиться

5 ответов

Для.NET 3 и ранее: Вы не можете. Необходимо управлять им вручную.

Для получения дополнительной информации Вы видите https://blogs.msdn.microsoft.com/vikas/2008/04/29/bug-asp-net-2-0-passwordrecovery-web-control-cannot-send-emails-to-ssl-enabled-smtp-серверы/.

Для.NET 4: Вы можете.

См. http://theoldsewingfactory.com/2011/01/06/enable-ssl-in-web-config-for-smtpclient/

<configuration>
    <system.net>
        <mailSettings>
            <smtp deliveryMethod=”network”>
                <network host="localhost"
                         port="25"
                         enableSsl="true"
                         defaultCredentials="true" />
            </smtp>
        </mailSettings>
    </system.net>
</configuration>
25
ответ дан James Skemp 28 November 2019 в 05:05
поделиться

Я искал почти везде это.

, Но кажется, что нет никакого способа, которым мы можем настроить Свойство EnableSsl в web.config.

Взглянули на это

0
ответ дан Eonasdan 28 November 2019 в 05:05
поделиться

Ah, there is a way to do it for the 'forgot password' built in .net login controls though.

See http://blogs.msdn.com/vikas/archive/2008/04/29/bug-asp-net-2-0-passwordrecovery-web-control-cannot-send-emails-to-ssl-enabled-smtp-servers.aspx

Ryan

1
ответ дан 28 November 2019 в 05:05
поделиться

У меня есть грязный обходной путь (до выхода .NET 4.0). Вместо того, чтобы изменять мой код, он полагается на используемый порт, чтобы определить, требуется ли SSL или нет.

var client = new SmtpClient();
client.EnableSsl = client.Port == 587 || client.Port == 465;
// This could also work
//client.EnableSsl = client.Port != 25;

Я сказал, что это грязный взлом, но он отлично работает для различных конфигураций, с которыми мы сталкиваемся.

19
ответ дан 28 November 2019 в 05:05
поделиться

Просто расширите класс и установите EnableSsl = true и используйте этот класс.

-1
ответ дан 28 November 2019 в 05:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: