.NET Лучший Метод для Отправки электронного письма (Система. Сеть. Почта имеет проблемы),

Вы можете использовать Программная навигация . Чтобы вернуться назад, вы можете использовать это:

router.go(n) 

Где n может быть положительным или отрицательным назад). Это то же самое, что history.back (). Таким образом, вы можете использовать свой элемент следующим образом:

back

18
задан JustAProgrammer 1 June 2009 в 17:08
поделиться

5 ответов

Я столкнулся с той же проблемой загрузки ЦП с описанными настройками. В итоге я открыл заявку в Microsoft, чтобы определить причину проблемы. Проблема использования ЦП заключается в классе ServicePoint. Внутри класса ServicePoint есть таймер, который запускается каждые (MaxIdleTime / 2) миллисекунды. Видите проблему? Если изменить значение MaxIdleTime на 2, загрузка ЦП упадет до нормального уровня.

22
ответ дан 30 November 2019 в 06:07
поделиться

Хотя у меня пока не было особых проблем с System.Net.Mail , вы всегда можете использовать старую System.Web.Mail ] API, который является оболочкой для CDOSYS.

1
ответ дан 30 November 2019 в 06:07
поделиться

Я всегда без проблем использовал компоненты Quiksoft EasyMail .NET.

Домашняя страница продукта: http://www.quiksoft.com/emdotnet/

У них также есть бесплатная версия компонента, если вам нужно только отправлять электронные письма:

http://www.quiksoft.com/freesmtp/

2
ответ дан 30 November 2019 в 06:07
поделиться

Раньше я пользовался Quicksoft и не жалуюсь. Еще одна вещь, которую вы можете попробовать, - это переключить конфигурацию SMTP на использование папки для пересылки вместо отправки по сети, что должно обойти проблему «он не отправляет QUIT».

1
ответ дан 30 November 2019 в 06:07
поделиться

Большую часть почты я отправляю с помощью Sproc. Я даже могу прикрепить файл.


CREATE PROCEDURE [dbo].[sendMail_With_CDOMessage]  
    @to VARCHAR(64), 
    @CC VARCHAR(1024)='',
    @BCC VARCHAR(1024)='',
    @subject VARCHAR(500)='', 
    @body VARCHAR(8000)='' ,
    @from VARCHAR(64),
    @filename VARCHAR(255)='',
    @priority INT = 0
AS  
BEGIN  
    SET NOCOUNT ON  

    DECLARE  
        @handle INT,  
        @return INT,  
        @s VARCHAR(64),  
        @sc VARCHAR(1024),  
        @up CHAR(27),   
        @server VARCHAR(255)  

    SET @s = '"http://schemas.microsoft.com/cdo/configuration/'  

    SELECT  
        @s = 'Configuration.Fields(' + @s,  
        @up = 'Configuration.Fields.Update',
        @server = 'smtp.yourdomain.com' 



    EXEC @return = sp_OACreate 'CDO.Message', @handle OUT  
    SET @sc = @s + 'sendusing").Value'  
    EXEC @return = sp_OASetProperty @handle, @sc, '2'  
    SET @sc = @s + 'smtpserver").Value'  
    EXEC @return = sp_OASetProperty @handle, @sc, @server  
    EXEC @return = sp_OAMethod @handle, @up, NULL  
    EXEC @return = sp_OASetProperty @handle, 'To', @to  
    EXEC @return = sp_OASetProperty @handle, 'CC', @CC 
    EXEC @return = sp_OASetProperty @handle, 'BCC', @BCC 
    EXEC @return = sp_OASetProperty @handle, 'From', @from  
    EXEC @return = sp_OASetProperty @handle, 'Subject', @subject  
    EXEC @return = sp_OASetProperty @handle, 'HTMLBody', @body    
    EXEC @return = sp_OASetProperty @handle, 'Priority', 'cdoHigh'  

    IF @filename IS NOT NULL  
        EXEC @return = sp_OAMethod @handle, 'AddAttachment', NULL, @filename  

    EXEC @return = sp_OAMethod @handle, 'Send', NULL  
    IF @return  0  
    BEGIN  
        PRINT 'Mail failed.'  
        IF @from IS NULL  
            PRINT 'From address undefined.'  
        ELSE  
            PRINT 'Check that server is valid.' 
    END 
    ELSE  
        PRINT 'Mail sent.'  

    EXEC @return = sp_OADestroy @handle  
END  

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

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