- Properties specific to the description of Email variables
- Correspondence between the properties and the RFC standard
- WLanguage functions
Email (Type of variable) In french: Email
The Email type is used to handle the email content as well as the associated information. The characteristics of Email can be defined and modified using various WLanguage properties. This type replaces and extends the Email structure by giving you the ability to handle several messages at the same time. Remark: See Declaring a variable for more details on the declaration of this type of variable and the use of WLanguage properties. Versions 17 and later New in version 17 Versions 21 and later New in version 21 Versions 22 and later New in version 22
// Send an email // Build the message MyMessage is Email // Sender MyMessage.Sender = sSender // Recipients sRecipient_1 is string = "aaa@gmail.com" sRecipient_2 is string = "bbb@gmail.com" Add(MyMessage.Recipient, sRecipient_1) Add(MyMessage.Recipient, sRecipient_2) // Message content MyMessage.Subject = EDT_Subject MyMessage.Message = RTFToText(sNote) MyMessage.HTML = RTFToHTML(sNote) // Start an SMTP session MySession is emailSMTPSession MySession.ServerAddress = sServer IF EmailStartSession(MySession) = False THEN RETURN // Send the message (the emailOptionEncodeHeader constant is used to // take the accented characters into account) EmailSendMessage(MySession, MyMessage, emailOptionEncodeHeader) // Close the session EmailCloseSession(MySession)
Remarks Properties specific to the description of Email variables The following properties can be used to handle an Email variable: | | | Name | Type used | Effect |
---|
ReturnReceipt | Boolean | Outbound, used to request a delivery receipt from the recipient (True). The recipient does not necessarily have to send a delivery receipt. Inbound, used to find out whether a delivery receipt was requested by the sender (True) or no (False).
If a read receipt is requested, it has priority over the return receipt. This property is set to False by default. | SenderAddress | Character string | Address of sender. This Address must be a valid Address Email (and only a Address Email ).Remark: If the address contains special characters or accented characters, use the constant emailOptionEncodeHeader when the message is sent by EmailSendMessage. | Versions 24 and laterReturnAddressError New in version 24ReturnAddressError ReturnAddressError | Character string | Return address if an error occurred. This address is managed by the POP3, IMAP and SMTP protocols. Remark: If the address contains special characters or accented characters, use the constant emailOptionEncodeHeader when the message is sent by EmailSendMessage. | Attache | Array of emailAttach | Contains the description of attached files. The number of attached files is unlimited. See emailAttach for more details.Remark: If the attachment is filled in manually, do not forget to specify the Property Nom otherwise the Image will not be transmitted in the Email. Example:
oEmail.Attachment[1].Content = fLoadBuffer( fRepData() + ["\"] + "Email\" + sCompanyLogo) oEmail.Attache[1].ContentType = "Image/gif" oEmail.Attachment[1].Name = "logo.gif"
| Category | Character string | List of keywords associated with the email. The keywords are separated by semicolons.Remark: If one of the keywords contains special characters or accented characters, use the constant emailOptionEncodeHeader when the message is sent by EmailSendMessage. | Cc | Array of character strings | Contains the addresses of recipients in copy: their name is displayed in the email received by the official recipients (Recipient property). The addresses are limited to 127 characters. The number of recipients in copy is limited to 200. This limit can be exceeded in SMTP mode. However, some servers do not support the emails with an important number of recipients. | Bcc | Array of character strings | Contains the addresses of non-official recipients: their name is not displayed in the email received by the official recipients (Recipient property). The addresses are limited to 127 characters. The number of non-official recipients is limited to 200. This limit can be exceeded in SMTP mode. However, some servers do not support the emails with an important number of recipients. | Versions 16 and laterCertificate New in version 16Certificate Certificate | Certificate | Certificate used to sign the email (header, content and attachments) before sending it. Versions 16 and later New in version 16 | Confidentialité | Integer constant | Type of confidentiality for the email. The possible values are as follows:- emailCompanyConfidential: Used for the in-house emails for example.
- emailNoSensitivity (Default value): No confidentiality.
- emailPersonal: Used for the personal emails for example.
- emailPrivate: Used for the private emails for example.
This property is not supported in Lotus Notes. | DispositionNotification | Boolean | Outbound, used to request a confirmation that the email was read by the recipient (True). The recipient does not necessarily have to send a read receipt. Inbound, used to find out whether a read receipt was requested by the sender (True) or not. If a read receipt is requested, it has priority over the return receipt. This property is set to False by default. This property is supported by Outlook in Windows and by Outlook in Pocket. | ReceiveDate | Character string or DateTime variable | Date when the message was received. | Recipient | Array of character strings | Contains the addresses of main recipients. The number of recipients is limited to 20. This limit can be exceeded in SMTP mode. However, some servers do not support the emails with an important number of recipients. | Out | Boolean | Specifies whether a message was read on the server: - False if the message was read.
- True if the message was not read.
| Versions 19 and laterHeader New in version 19Header Header | Array of emailHeader | Headers of email. | Sender | Character string | Address to which the answer to the message will be sent (up to 127 characters).Remark: If the sender contains special characters, accents, use the constant emailOptionEncodeHeader when sending the message with the function EmailSendMessage. | HTML | Character string | Message with HTML formatting. Limited to 4 GB. This property is supported in POP3/SMTP only. | ID | Character string | Unique email identifier. This identifier remains constant for the entire email lifetime. This identifier is initialized when sending the email (EmailSendMessage).Remark: If the identifier contains special characters, accents, use the constant emailOptionEncodeHeader when sending the message with the function EmailSendMessage. | Versions 23 and laterEnamelAsynchronous ID New in version 23EnamelAsynchronous ID EnamelAsynchronous ID | Character string | Email identifier (asynchronous mode only). WEBDEV only | Message | Character string | Text of message (with simple text formatting). Limited to 2 GB (64 KB for Lotus Notes).Remark: If the message contains special characters, accents, use the constant emailOptionEncodeHeader when sending the message with the function EmailSendMessage. | MessageID | Character string | Unique email identifier. This identifier remains constant for the entire email lifetime. This identifier is used to follow a conversation.
When sending an email, this variable specifies the email identifier. If this variable corresponds to an empty string, the identifier will be given by the server. The application that generates the identifier must check whether this identifier is unique.
When receiving an email, this variable specifies the email identifier.
This identifier must have the following format: <Identifier@domain>. For example: 1@192.168.2.210
| Priority | Integer constant | Type of priority for the email. The possible values are as follows:- emailLowPriority: used for the really non-urgent emails.
- emailHighPriority: used for the urgent emails.
- emailNormalPriority (Default value): used for the non-urgent emails.
| Reference | Character string | Unique identifier of one or more reference emails linked to the current conversation.
| Versions 16 and laterSignature New in version 16Signature Signature | Integer constant | Status of email signature: - certificateExpired: Valid signature but expired certificate.
- certificateInvalid: Invalid signature or certificate.
- certificateUntrusted: Valid signature but untrusted certificate root.
- certificateOK: Trusted signature and certificate.
This property is available in read-only. Versions 16 and later New in version 16 | Source | Character string | Contains the source of incoming message (subject, sender, recipient, content, ...). | subject | Character string | Message subject. Remark: If the subject contains special characters, accents, use the constant emailOptionEncodeHeader when sending the message with the function EmailSendMessage. | PlainText | Character string | Plain text of message. This variable is available for the incoming emails only. |
Versions 17 and laterRemark: You have the ability to use non-Latins characters in the following properties: Subject, Message, Category, SenderAddress, Sender, ID. In this case, use the constant emailOptionEncodeHeader when sending the message with function EmailSendMessage. New in version 17Remark: You have the ability to use non-Latins characters in the following properties: Subject, Message, Category, SenderAddress, Sender, ID. In this case, use the constant emailOptionEncodeHeader when sending the message with function EmailSendMessage. Remark: You have the ability to use non-Latins characters in the following properties: Subject, Message, Category, SenderAddress, Sender, ID. In this case, use the constant emailOptionEncodeHeader when sending the message with function EmailSendMessage.Correspondence between the properties and the RFC standard | | | | | | Version 23 and earlier | From version 24 | | Envoi | Reception | Envoi | Reception | From | Property Shipper | Informs Property Shipper. | Property Shipper | Informs Property Shipper. | Reply-To | Property SenderAddress | Informs the Property ShippingAddress. | Property SenderAddress | Informs the Property ShippingAddress. | Return-Path | Property SenderAddress | Informs the Property SenderAddress if the "Reply-To" is Void. | .ReturnAddressError | Informs Property ReturnAddress. | Return-Receipt-To (ReturnReceipt) | Property Sender Address if filled in otherwise Property Sender Address. | Sets to true Property Acknowledgement if the received value is non Void. | Property Sender Address if filled in otherwise Property Sender Address. | Sets to true Property Acknowledgement if the received value is non Void. | Disposition-Notification-To (DispositionNotification) | Property Sender Address if filled in otherwise Property Sender Address. | Sets the Property Confirmation if the received value is not Void. | Property Sender Address if filled in otherwise Property Sender Address. | Sets the Property Confirmation if the received value is not Void. |
WLanguage functions The following functions can be used to handle an Email variable:
| | EmailBuildSource | Generates the source code of outgoing email from the variables currently found in the email structure or in an Email variable]. | EmailChangeStatus | Changes the status of an email on a messaging server. | EmailCopy | Copies an email found in a directory to another directory of an IMAP server. | EmailDeleteMessage | Used to delete the current email according to the current protocol (POP3, IMAP, MS Exchange, Pocket Outlook, Lotus Notes or Outlook messaging). | EmailGetIndicator | Retrieves the indicators defined on an email of IMAP session. | EmailImportHTML | Imports, into the Email structure or into an Email variable, the content of an HTML file in order to send it by email. | EmailImportSource | Fills an Email variable from the content of its ..Source property or the different variables of the email structure from the content of the Email.Source variable. | EmailLoadAttachment | Adds an attached file to an email. | EmailReadFirst | Reads the first incoming email according to the protocol used (POP3 or IMAP, MS Exchange, Lotus Notes or Outlook). | EmailReadFirstHeader | Reads the header of the first incoming email according to the protocol used (POP3 or IMAP, Lotus Notes or Outlook). | EmailReadLast | Reads the last incoming email according to the protocol used (POP3 or IMAP, MS Exchange, Lotus Notes or Outlook). | EmailReadLastHeader | Reads the header of last incoming email according to the protocol used (POP3 or IMAP, Lotus Notes or Outlook). | EmailReadMessage | Reads an incoming according to the protocol used (POP3 or IMAP, Lotus Notes or Outlook). | EmailReadMessageHeader | Reads the header of an incoming email according to the protocol used (POP3 or IMAP, Lotus Notes or Outlook). | EmailReadNext | Reads the incoming email found after the current email according to the protocol (POP3 or IMAP, MS Exchange, Lotus Notes or Outlook). | EmailReadNextHeader | Reads the header of the email found after the current email according to the protocol used (POP3 or IMAP, Lotus Notes or Outlook). | EmailReadPrevious | Reads the email found before the current email according to the protocol used (POP3 or IMAP, MS Exchange, Lotus Notes or Outlook). | EmailReadPreviousHeader | Reads the header of the email found before the current email according to the protocol used (POP3 or IMAP, Lotus Notes or Outlook). | EmailReset | Re-initializes all the variables of the email structure or all the variables of an Email variable. | EmailSeekFirst | Finds one or more emails according to the criteria specified in the messaging software (Outlook, messaging software using the IMAP protocol, ...). | EmailSeekFirstNotes | Seeks one or more emails according to specified criteria, in a local or remote Lotus Notes or Domino database. | EmailSendMessage | Sends an email according to the protocol used (SMTP, MS Exchange, Pocket Outlook, Lotus Notes, Outlook). |
Related Examples:
|
Complete examples (WINDEV): WD Mail
[ + ] This application is an email client developed in WINDEV. It is based on the Email objects. This email client is used to retrieve and send emails by using the POP, IMAP and SMTP protocols. You have the ability to apply filters to the incoming emails. The application can also be used to manage several email accounts. The writing of an email is based on the HTML edit control.
|
This page is also available for…
|
|
|
| |
| | // btn_enviar ( popup)(server) // SMTP MINHA_SESSAO is emailSMTPSession MINHA_SESSAO..ServerAddress="smtpserver" MINHA_SESSAO..Name="nome_usuario" MINHA_SESSAO..Password="senha" IF EmailStartSession(MINHA_SESSAO)=False THEN ToastDisplay("smtp com erro",toastLong,vaMiddle,haCenter,ErrorInfo()) RETURN END //EMAIL EMAIL_DADOS is Email EMAIL_DADOS..Sender=EDT_Remetente EMAIL_DADOS..Subject=EDT_Assunto EMAIL_DADOS..HTML=EDT_HTML EMAIL_DADOS..Message=HTMLToText(EDT_HTML) EMAIL_DADOS..Recipient[1]=EDT_Destinatario // ENVIAR EMAIL IF EmailSendMessage(MINHA_SESSAO,EMAIL_DADOS)=False THEN ToastDisplay("ERRO MENSAGEM",ErrorInfo()) ELSE ToastDisplay("MENSAGEM ENVIADA COM SUCESSO") END // FECHAR SESSAO EmailCloseSession(MINHA_SESSAO)
|
|
|
|
| |
| |
| |
|
| | PROCEDURE SendMensagem()
// Start an SMTP session MySession is an emailSMTPSession MySession..ServerAddress = "smtp.gmail.com" MySession..Name = "adrianoboller@gmail.com" MySession..Password = "senhasecreta" MySession..Port = "587" MySession..Asynchronous = True IF EmailStartSession(MySession) = True // Build an email MyMessage is an Email MyMessage..Sender = EDT_E_Mail Add(MyMessage..Recipient, "adrianoboller@gmail.com") MyMessage..Subject = EDT_Assunto MyMessage..Message = EDT_Nome + " " + EDT_Telefone + " " + EDT_E_Mail + " " + EDT_Mensagem // Send the message IF EmailSendMessage(MySession, MyMessage) = True ToastDisplay("E-mail enviado com sucesso!") PAGE_Contato..Plane = 1 ELSE ToastDisplay("Erro ao tentar enviar o e-mail!") END ELSE ToastDisplay("Erro ao tentar enviar o e-mail!") END |
|
|
|
| |
| |
| |
|
| ERRO CERTIFICACAO ARRUMADO |
|
| EmailConfigure(emailParameterMode,1) // ESSA CONFIGURACAO ACIMA ARRUMA ERRO CERTIFICACAO EmailSetTimeOut(30) HourGlass() n_email_sessao is boolean=EmailStartSMTPSession(EDT_USUARIO,EDT_SENHA,EDT_SERVIDOR_SMTP,EDT_porta,False,emailOptionSecuredTLS) IF n_email_sessao=True THEN _minha_mensagem is an Email // est un Email _minha_mensagem..Sender=EDT_EmailSender Add(_minha_mensagem..Recipient, EDT_destinatario) _minha_mensagem..Subject = EDT_ASSUNTO _minha_mensagem..Message = EDT_MENSAGEM _minha_mensagem..SenderAddress = EDT_EmailSender _minha_mensagem..ReturnReceipt = True EmailLoadAttachment(_minha_mensagem,EDT_anexo) IF EmailSendMessage(EDT_USUARIO, _minha_mensagem) = False THEN Info("Erro Mandar Mesnagem:"+CR+ErrorInfo()) END EmailCloseSession(EDT_USUARIO) END HourGlass(False) // blog com video e exemplo // http://windevdesenvolvimento.blogspot.com.br/2017/10/aula-1277-email-3-erro-certificacao.html // https://www.youtube.com/watch?v=LxqfFegkGqo
|
|
|
|
| |
| |
| |
| |
| |
| |
| | |
|