.NET ERP 시스템은 대규모 통합 전자 메일 시스템 계정을 해결하기 위해

정보 흐름 ERP 시스템의 정확하고 빠른 전송을 보장하기 위해, 필요 시스템에 메시지 상자에 대한 메커니즘을 설계합니다. 비즈니스 운영 시스템에서 발생하는 때, 우리는 ERP 정보가 신속하고 정확한 배달을 흐르는 수 있도록 작업자의 다음 부분을 상기 할 필요가있다. 예를 들어, MO (작업 ​​지시, 작업 지시, 단일) 포스팅 후, 우리는 창고 따기 워크샵 생산을위한 재료의 준비를 알려야합니다. 메시지 인터페이스 박스는 실질적으로 다음과 같습니다 :

.NET ERP 시스템은 대규모 통합 전자 메일 시스템 계정을 해결하기 위해

 

메시지 상자가 서비스 통지 (메시지) 및 워크 플로우 승인 (워크 플로우)가 포함되어 있습니다. 알림 서비스 후 조달 담당자 구매 주문 PO로, 필요 창고 담당자에게 준비 영수증을 알립니다. 워크 플로우 승인 승인 프로세스 기반의 문서 관리입니다.

메시지 상자의 실현의 과정에서, 우리는 고객이 때문에 주 구현 프로세스에이 기사를 쓰고, 동시에 전자 메일 시스템에 메시지를 보낼 필요가 발생했습니다.

고객의 목적은 메시지를 전송하고, 또한 해당 메일 계정에 메시지의 사본을 보내, 매우 간단합니다 :

.NET ERP 시스템은 대규모 통합 전자 메일 시스템 계정을 해결하기 위해

 

섹션의 구현

전자 메일 서버 최대 1 개 세트

몇 가지 옵션이 있습니다

Exchange 서버 1 메일 서버 및 Outlook은 더 구성에 복잡 우수한 메일 ​​서버, 조금입니다.

2 매직 WinMail는 WinWebMail 무료 버전이 제한 라이센스를 구입하는 데 필요한 초과, 50 ~ 100 개 계정을 해제 할 수 있습니다.

무료 3 hMailServer 오픈 소스, 무제한. COM 인터페이스는 차 개발을 제공 할 수 있습니다.

HMailServer는 ERP 시스템의 메일 서버로 선택했다. 여기에 구성 프로세스를 건너 뜁니다.

hMailServer를 설치 한 후, 도메인 EnterpriseSolution.com를 만들고, 그것을 할 수 있습니다.

.NET ERP 시스템은 대규모 통합 전자 메일 시스템 계정을 해결하기 위해

 

2 동기화 계정 메일

아래의 관리자 비밀번호, 메일 서버에 연결을 같이 동기화 절차를 엽니 다. 이것은 내가 프로그램을 완료하기 위해 COM 인터페이스를 호출 할 것입니다.

.NET ERP 시스템은 대규모 통합 전자 메일 시스템 계정을 해결하기 위해

 

이 프로그램에서는 ERP는 hMailServer 테이블에 사용자의 전자 메일 계정에 동기화 할 수 있습니다.

다음 확인을 다시 계정에 ERP가 hMailServer 메일 시스템에 동기화를 클릭, 동기화 버튼을 클릭 ERP 계정이 양식을 선택 엽니 다.

.NET ERP 시스템은 대규모 통합 전자 메일 시스템 계정을 해결하기 위해

 

보기 hMailServer 계정 :

.NET ERP 시스템은 대규모 통합 전자 메일 시스템 계정을 해결하기 위해

 

개발 섹션

위의 동기화 절차가 구현되는 방법을 자세히 설명하는 다음, C ++ COM 인터페이스 프로그램을 호출하는 간단한 C #입니다. COM hMailServer 공식 문서는 여기에 도움이 주소로 제공 : https://www.hmailserver.com/documentation/v5.6/?page=com_objects

1 개 읽기 메일 시스템 계정

먼저 서버에 대한 연결을 만들 hMailSever

private Domain HMailServerConnection()

{

string hMailDomain = txtDomain.Text;

string HMailUsername = "Administrator";

string HMailPassword = txtPassword.Text;

var objGlobal = new ApplicationClass();

objGlobal.Authenticate(HMailUsername, HMailPassword);

return objGlobal.Domains.get_ItemByName(hMailDomain);

}

대부분의 경우 우리는 모든 인터페이스 객체 도메인과 상호 작용한다.

그런 다음 인터페이스 그리드 컨트롤에 바인딩 계정 테이블 데이터를 읽습니다.
 

DataTable table = new DataTable("Table");

table.Columns.Add("Address", typeof (string));

table.Columns.Add("Password", typeof (string));

table.Columns.Add("PersonFirstName", typeof (string));

table.Columns.Add("PersonLastName", typeof (string));

_domain = HMailServerConnection();

Accounts accounts = _domain.Accounts;

for (int i = 0; i < accounts.Count; i++)

{

Account account = accounts[i];

DataRow dataRow = table.NewRow();

dataRow["Address"] = account.Address;

dataRow["Password"] = account.Password;

dataRow["PersonFirstName"] = account.PersonFirstName;

dataRow["PersonLastName"] = account.PersonLastName;

table.Rows.Add(dataRow);

}

gridAccount.AutoGenerateColumns = false;

gridAccount.DataSource = table;

2 추가 메일 계정

다음 코드 호출을 참조하십시오
 

Domain domain = HMailServerConnection();

Accounts accounts = domain.Accounts;

Account mailbox = accounts.Add();

mailbox.Address = email;

mailbox.Password = password;

mailbox.Save();

3 지우기 메일 계정

다음 코드

Accounts accounts = _domain.Accounts;

int count = accounts.Count;

while (count > 0)

{

_domain.Accounts.Delete(0);

count--;

}

_domain.Accounts.Refresh();

난 단지 컴파일 x86 플랫폼에이 프로젝트를 설정할 수 있도록 hMailSever는 COM 인터페이스의 x86 아키텍처 제공합니다.

이상 4 개 국어

이 프로젝트는 또한 내가 번역 인터페이스의 일반적인 방법의 컨트롤을 사용, 다중 언어를 포함, 다음 코드를 참조하십시오.

public static void TranslateForm(Form form)

{

string labelText = string.Empty;

DataRow dataRow = null;

string translation = string.Empty;

switch (Application.CurrentCulture.LCID)

{

case 2052:

translation = "CHS";

break;

case 1028:

case 3076:

case 5124:

translation = "CHT";

break;

}

foreach (var label in GetAllControlsRecusrvive<Label>(form))

{

labelText = label.Text.Trim().TrimEnd(':');

dataRow = Shared.TranslationTable.Rows.Find(labelText);

if (dataRow != null)

label.Text = Convert.ToString(dataRow[translation]);

}

난 그냥 다중 언어 기능을 완료하는 인터페이스 방법의 각 폼로드 이벤트에서 위를 호출해야합니다.

protected override void OnLoad(EventArgs e)

{

base.OnLoad(e);

Shared.TranslateForm(this);

}

프로젝트 XML을 포함 리소스 파일에서 인터페이스 번역 항목.

프로젝트 소스 코드 파일 : http://files.cnblogs.com/files/JamesLi2015/Synchronization.zip

 

게시 된 204 개 원래 기사 · 원 찬양 32 ·은 80000 +를 볼

추천

출처blog.csdn.net/wx_15323880413/article/details/105155866