2010-03-09 4 views
3

저는 비교적 데이터베이스에 익숙하지 않으므로 질의가 들리는 경우 용서해주십시오. 특정 테이블에 나열된 모든 연락처에 일괄 전자 메일을 보내야합니다. 전자 메일 본문은 _______님께로 시작되는 .doc 파일에 저장됩니다. SQL 서버는이 파일을 읽고 공백에 연락처의 성을 추가하고 해당성에 해당하는 전자 메일 주소로 보냅니다. 이것으로 진행하는 방법에 대한 생각?SQL Server 2008에서 대량 전자 메일 보내기

모든 통찰력, 제안 사항, 팁을 크게 높이 실 것입니다.

감사합니다.

답변

6

데이터베이스 = 데이터베이스. 데이터 저장. 가난한 데이터베이스가 수천 개의 이메일을 발송하지 않도록하십시오. 이것은 그것을 위해 만들어진 것이 아닙니다.

이렇게하는 응용 프로그램을 작성하십시오. 멀티 스레드. 데이터베이스의 데이터를 사용하고 거기에 결과/상태를 저장합니다.

4

나는 스팸 메일을 보낼 수있는 데이터베이스를 사용하여 조언하지 않습니다,하지만 당신은 사용하여 데이터베이스를 통해 전자 메일을 보낼 수 있습니다

EXEC msdb.dbo.sp_send_dbmail ...

잘 모르겠어요 어떻게 영향을 실제 데이터베이스 성능 (SELECT/INSERT/UPDATE/DELETE)하지만 그건 내 호출이 아닙니다.

http://technet.microsoft.com/en-us/library/ms190307.aspx

sp_send_dbmail [ [ @profile_name = ] 'profile_name' ] 
    [ , [ @recipients = ] 'recipients [ ; ...n ]' ] 
    [ , [ @copy_recipients = ] 'copy_recipient [ ; ...n ]' ] 
    [ , [ @blind_copy_recipients = ] 'blind_copy_recipient [ ; ...n ]' ] 
    [ , [ @subject = ] 'subject' ] 
    [ , [ @body = ] 'body' ] 
    [ , [ @body_format = ] 'body_format' ] 
    [ , [ @importance = ] 'importance' ] 
    [ , [ @sensitivity = ] 'sensitivity' ] 
    [ , [ @file_attachments = ] 'attachment [ ; ...n ]' ] 
    [ , [ @query = ] 'query' ] 
    [ , [ @execute_query_database = ] 'execute_query_database' ] 
    [ , [ @attach_query_result_as_file = ] attach_query_result_as_file ] 
    [ , [ @query_attachment_filename = ] query_attachment_filename ] 
    [ , [ @query_result_header = ] query_result_header ] 
    [ , [ @query_result_width = ] query_result_width ] 
    [ , [ @query_result_separator = ] 'query_result_separator' ] 
    [ , [ @exclude_query_output = ] exclude_query_output ] 
    [ , [ @append_query_error = ] append_query_error ] 
    [ , [ @query_no_truncate = ] query_no_truncate ] 
    [ , [ @mailitem_id = ] mailitem_id ] [ OUTPUT ] 

난 당신이 말씀에서 편지 병합으로이 작업을 실행해야 할 수 있도록 데이터 소스로 SQL Server를 사용하여, SQL에서 .doc 파일을 변경할 수있는 방법을 잘 모르겠어요 :

http://msdn.microsoft.com/en-us/library/aa140183%28office.10%29.aspx

4

SQL 서버는 메일 서버가 아닙니다.

외부 공급자를 사용하여 대량 메일을 보내거나 (보낼 수천 개의 메일이있는 경우) 데이터를 읽는 응용 프로그램을 작성하고 자리 표시자를 값으로 바꾸고 메일을 사용하여 메일을 보낼 수 있습니다 회사 SMTP 서버. 그것은 C# .NET에서 약 200 줄의 코드가 될 것이므로 아주 사소한 것입니다.

2

나는 과거에 SQL Server 2000에 SQLAnswersMail 제품을 사용했으며 메일 병합과 같은 많은 기능을 제공합니다.

예, SQL Server는 데이터베이스이지만 SQL Server 자체에서 메일 릴레이를 실행하지 않은 경우 전자 메일을 생성하기 위해 데이터 및 일정 작업을 호스팅하는 것이 이상적이라는 것을 알았습니다. 또한 사용자 지정 쿼리 결과를받는 사람에게 보내는 작업도 훌륭합니다.

SQL Server 2005에서 도입 된 모든 향상된 전자 메일 처리로 인해 쓸모 없게되었는지 확실하지 않습니다. SQL Server 2000에서 이전 MAPI 기반 프로필을 처리 할 수없는 주요 요구 사항은 다음과 같습니다. 여러 이메일 주소.