Funções E-mail¶
As funções E-mail permitem que mensagens sejam enviadas a partir de scripts como um projeto predefinido ou e-mail do sistema ou por meio de uma especificação completa de opções.
Validar Endereços E-mail¶
Para validar um endereço e-mail, você pode usar uma expressão regular para testar se um endereço e-mail segue regras específicas. Verifique se corresponde (o RegExMatch
função retorna maior que 0 correspondências) e em caso afirmativo, retorne "válido". As regras são que o endereço consista em:
- um nome composto por caracteres específicos (alfanuméricos, ponto final, sublinhado, porcentagem, sinal de adição, hífen), seguido por
- um símbolo @, seguido por
- um nome de domínio composto por caracteres específicos (alfanuméricos, ponto final, hífen), seguidos de
- um único período, seguido de
- um nome de domínio de nível superior composto por caracteres alfabéticos, de dois a quatro caracteres de comprimento.
A expressão inteira é colocada entre parênteses para criar uma subexpressão marcada; se corresponder, "1" será retornado.
Observe que as barras invertidas na string de expressão regular precisam ser escapadas sendo duplicadas.
If(RegExMatch(emailaddress, "([A-z0-9._%+-]+@[A-z0-9.-]+\\.[A-z]{2,4})") > 0,
"valid",
"invalid");
// An email address "first.last@example.com" will return "valid"
Para obter informações adicionais, consulte Funções de String e a função RegExMatch
.
SendEmail
¶
Declaração¶
string SendEmail(string from, string to, string subject, string message[, string smtpServers, string account, string accountPassword, string cc, string bcc, string replyTo, bool useSSL])
Sintaxe¶
SendEmail(<from>, <to>, <subject>, <message>[, <smtpServers>, <account>, <accountPassword>, <cc>, <bcc>, <replyTo>, <useSSL>])
Parâmetros Obrigatórios¶
from
: O endereço e-mail a ser usado no campo "de"to
: Uma lista delimitada por vírgulas de endereços e-mail para os quais enviar a mensagem e-mailsubject
: O assunto da mensagem e-mailmessage
: A mensagem da mensagem e-mail
Parâmetros Opcionais¶
smtpServers
: Uma lista delimitada por vírgulas de servidores SMTP no formato server:port, comosmtp.example.com:465
. A porta é opcional e as portas SMTP padrão serão testadas se não estiverem incluídas. O primeiro servidor bem-sucedido será usado.account
: Nome da conta a ser usada nos servidores SMTPaccountPassword
: Senha da conta nos servidores SMTPcc
: Uma lista delimitada por vírgulas de endereços e-mail para enviar uma cópia do e-mail parabcc
: Uma lista delimitada por vírgulas de endereços e-mail para "cópia carbono" cegareplyTo
: Um endereço e-mail para o campo de respostauseSSL
: Sinalizador booleano que indica se SSL/TLS deve ser usado ao autenticar com os servidores SMTP.
Nota
Caracteres multibyte podem ser usados com qualquer um desses parâmetros a partir do Harmony Agente versão 10.1.
Descrição¶
Envia um e-mail usando as informações fornecidas. Em caso de sucesso, uma string vazia é retornada; caso contrário, quaisquer mensagens de erro serão retornadas.
Somente os primeiros quatro parâmetros são obrigatórios; o resto é opcional. Se as informações não forem especificadas, elas serão lidas no arquivo de configuração do servidor. Caso não esteja disponível no arquivo de configuração, o e-mail não será enviado.
Exemplos¶
// Sending an email
// From address
// To address
// Subject
// Message
// SMTP servers
// Account
// Account password
// CC list
// BCC list
// Reply-to address
// Using SSL
SendEmail("john.doe@example.com",
"jane.doe@example.com,firstname.lastname@example.com",
"Weird data in PO input",
"There was some weird data in this incoming PO, could you have a look at it?",
"http://mail.example.com",
"john.doe@example.com",
"mymailpwd",
"jennifer@example.com",
"svennis@example.com, urban@example.com",
"jd@example.com",
1);
// Sending email, showing port configuration
SendEmail("myname@example.com",
"othername@example.com",
"Sendmail TEST",
"A Sendmail TEST message.",
"smtp.example.com:587",
"myname@example.com",
"mypassword", '', '', '', 1);
No último exemplo, é usado um servidor SMTP escutando na porta. Como não há endereços sendo copiados ou copiados cegamente na mensagem e-mail, eles são mostrados como strings vazias. Como não existe um endereço e-mail de "resposta", também é uma string vazia.
SendEmailMessage
¶
Declaração¶
string SendEmailMessage(string emailMessageId)
Sintaxe¶
SendEmailMessage(<emailMessageId>)
Parâmetros Obrigatórios¶
emailMessageId
: Uma mensagem e-mail no projeto atual
Descrição¶
Envia um e-mail usando uma mensagem e-mail predefinida. Em caso de sucesso, uma string vazia é retornada; caso contrário, quaisquer mensagens de erro serão retornadas.
A mensagem e-mail usada nesta chamada de função deve ser definida como uma mensagem e-mail no projeto atual. Veja as instruções em inserir itens do projeto.
Exemplos¶
// Send a predefined email message
SendEmailMessage("<TAG>Email Messages/My Email Message<TAG>");
SendSystemEmail
¶
Declaração¶
string SendSystemEmail(string to, string subject, string message)
Sintaxe¶
SendSystemEmail(<to>, <subject>, <message>)
Parâmetros Obrigatórios¶
to
: Uma lista delimitada por vírgulas de endereços e-mail para os quais enviar a mensagem e-mailsubject
: O assunto da mensagem e-mailmessage
: A mensagem da mensagem e-mail
Descrição¶
Envia um e-mail usando um endereço "De" pré-configurado, servidores SMTP e informações da conta. Eles são definidos no arquivo de configuração do servidor. Se estas não tiverem sido definidas, use uma das outras funções e-mail. Em caso de sucesso, uma string vazia é retornada; caso contrário, quaisquer mensagens de erro serão retornadas.
Exemplos¶
SendSystemEmail(Get("manager_email"),
"FYI",
"About to process a new purchase order with POID = " +
Get("POID") +
". Will be available for review in a few minutes.");
// Examples entries in a jitterbit.conf file for sending system emails:
[SmtpClient]
DefaultSmtpServers=mail.example.com
DefaultFromEmail=auser@example.com
# If your SMTP server needs authentication the account and password can be specified:
DefaultAccount=auser
DefaultAccountPassword=apassword
# If your SMTP server uses SSL/TLS, set this to true:
UseSSL=true