IEmailVerifier interface methods

virtual HRESULT put_Email(/* [in] */ BSTR bstrEmail);

Set email for the check. You can set email in all known formats, e.g.:

amv@elzcomsoft.com

Alex <amv@elzcomsoft.com>

Alex “amv@elzcomsoft.com”

“Alex Gorlach” <amv@elzcomsoft.com>

The check will start automatically after successful put_Email() call. Note, that put_Email() call will be successful only when internal verifier object is in CME_CLEAR or CME_COMPLETE state (see below get_Status() description).

Possible return values are:

S_OK – email was set successfully, the check will start automatically;

S_FALSE – bad internal verifier object state (e.g., check of previous email is not completed).

 

virtual HRESULT put_Sleep(/* [in] */ long lMilliseconds);

Some programming languages (e.g. JavaScript) have no build-in operation for delay. lMilliseconds specifies the time, in milliseconds, for which to suspend execution (from 1 to 60000). See code sample in get_Status() description.

 

virtual HRESULT get_Status(/* [retval][out] */ long *status);

Return state of internal verifier object is:

CME_CLEAR (0) – object is created (and no success put_Email() call yet);

CME_READY (1) -  put_Email() call was successful, checking will start automatically in some seconds;

CME_CHECKING (2) – check in progress;

CME_COMPLETE (3) – check is completed.

Possible result values are:

S_OK – status code was returned.

Typical program code is:

amv.Email = email;

if (amv.Status > 0)

{

  do

  {                

    amv.Sleep = 300;

    status = amv.Status; 

  }

  while (status != CME_COMPLETE);

}

 

virtual HRESULT get_Result(/* [retval][out] */ long *result);

Return numeric code of check result, is one from the following:

VER_OK (0)                – email exist;

VER_BAD_DNS (2)        – email domain was not found in DNS;

VER_BAD_SMTP (3)        – mailbox is not existent;

VER_UNKNOWN (4)        – program is unable to check email at this moment.

Possible result values are:

S_OK – result was returned;

S_FALSE – result is not available at this moment (e.g. check in progress).

 

virtual HRESULT get_StatusString(/* [retval][out] */ BSTR *pbstrStatus);

Return the string value of internal object status (see also get_Status() description).

 

virtual HRESULT get_ResultString(/* [retval][out] */ BSTR *pbstrResult);

Return the string value of check result (see “Result” column in program interface). Possible result values are:

S_OK – result string was returned;

S_FALSE – result is not available at this moment (e.g. check in progress).

 

virtual HRESULT get_Log(/* [retval][out] */ BSTR *pbstrLog);

Return the multi-line string with log of check. Possible result values are:

S_OK – log was returned;

S_FALSE – log is not available at this moment (e.g. check in progress).

 

virtual HRESULT get_Comment(/* [retval][out] */ BSTR *pbstrComment);

Return the single line with AMV comment for check (see “Comment” column in program interface). Possible result values are:

S_OK – comment was returned;

S_FALSE – comment is not available at this moment (e.g. check in progress).

 

virtual HRESULT get_DirtyEmail(/* [retval][out] */ BSTR *pbstrEmail);

Return the original email (like “Gorlach <alex@gorlach.koenig.su>”) received by put_Email() call. Possible result values are:

S_OK – email was returned;

S_FALSE – email is not available (e.g. put_Email() call was failed).

 

virtual HRESULT get_CleanEmail(/* [retval][out] */ BSTR *pbstrEmail);

Return the “clean” email (e.g. “alex@gorlach.koenig.su” instead “Gorlach <alex@gorlach.koenig.su>”) received by put_Email() call.

Possible result values are:

S_OK – email was returned;

S_FALSE – email is not available (e.g. put_Email() call was failed).

See also: Typical program code, Information for programers