Tato předkonfigurace se vyvolá při zakládání nového objektu (např. volbou
"Nový objekt ..." v kontextovém menu objektu nebo stisknutím klávesy
Insert po označení objektu).
Tato předkonfigurace je zařazena ve skupině
"/ Komunikace / Protokoly a jiné komunikace / Email".
Tuto předkonfiguraci lze vytvořit v objektu
PmaFolder,
PmaRoot nebo
PmaPrototype.
- Předkonfigurace vytvoří nakonfigurovaný objekt typu
PmaFolder obsahující 4 metody. Každá z nich používá jinou technologii pro odesílání mailů, ale používají stejné s parametry
sTo,
sSubject,
sBody. Na začátku jsou proměnné, které nastaví připojení na
SMTP server.
- Součástí předkonfigurace je také obraz pro zaslání zpráv ale pro komunikaci nutný není.
Obsahuje
Pmg objekty určené pro zadání mailové adresy příjemce, předmětu odesílané zprávy a zadání obsahu těla zprávy. A objekty
PmgButton, kterými se v události
onButtonUp volá požadovaná metoda s příslušnými parametry.
- V okně vyvolaném před vznikem objektu je nutno zadat údaje nezbytné pro konfiguraci SMTP serveru a identifikaci odesílatele mailových zpráv.
- Předkonfigurace obrazu (objekt typu
PmaPanel) je funkční i jako
Web obraz. Aby byla předkonfigurace funkční i na Webu, je nutno povolit objekt typu
PmaPanel pro Web (v kartě "
Web server").
Metoda obrazu
SendEmail může být volána kdekoliv v aplikaci.
Konfigurátory které lze nastavit před vytvořením předkonfigurace:
Název vytvářeného objektu | Název nově vytvořeného objektu ve stromu Pma objektů.
Maximální délka názvu je 30 znaků.
Je to systémový název, může obsahovat pouze alfanumerické znaky a nesmí obsahovat diakritiku (tzn. národnostně závislé znaky), prázdný řetězec, mezery a první znak nesmí být číslo.
Přednastaveno: "SendEmail" |
|
Adresa SMTP serveru | |
Port serveru (465, 587, ..) | |
Mailová adresa odesílatele | |
Uživatelská identifikace odesílatele na SMTP serveru | |
Uživatelské heslo na SMTP serveru | |
---|
Skript pro odeslání emailu technologií CDO:
JavaScriptVBScriptVyber a zkopíruj do schránky
var nSendUsing, oMsg, oFlds, nSmtpAuthenticate, sSmtpServer, sFrom, sUserName, sPassword, nSmtpServerPort, bSmtpUseSsl, nSmtpConnectionTimeout;
nSendUsing = 2;
// 1 = Odesílání zprávy pomocí lokálního servisního SMTP přenosu, 2 = Odesílání zprávy přes síť
sSmtpServer = "smtp.aol.com";
// Název nebo IP adresa na připojovaný SMTP server
nSmtpAuthenticate = 1;
// Typ autentizace, Žádná=0, Basic=1 (Base64 encoded), NTLM=2
sFrom = "you@aol.com";
// Mailová adresa odesílatele
sUserName = "you@aol.com";
// Uživatelská identifikace odesílatele na SMTP serveru
sPassword = "******";
// Uživatelské heslo na SMTP serveru
nSmtpServerPort = 465;
// Port serveru (465, 587, ..)
bSmtpUseSsl = true;
// Použít SSL při spojení (false nebo true)
nSmtpConnectionTimeout = 60;
// Prodleva při spojení
oMsg = Pm.AxGetObject("new", "CDO.Message");
oMsg.BodyPart.Charset = "utf-8";
// "windows-1252" or "iso-8859-2" ...
oMsg.Subject = "Test email from PROMOTIC";
oMsg.From = sFrom;
oMsg.To = "xxxx@yahoo.com";
oMsg.TextBody = "Test email from PROMOTIC..\nIt was sent using SMTP authentication";
// oMsg.HTMLBody = "<h1>Test email from PROMOTIC..</h1><p>It was sent using SMTP authentication.</p>
oMsg.Addattachment("c:/temp/Text.txt");
// oMsg.Addattachment("c:/temp/Text2.txt");
// Toto je sekce kde se definuje a konfiguruje připojení na vzdálený SMTP server
oFlds = oMsg.Configuration.Fields;
oFlds.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = nSendUsing;
oFlds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = sSmtpServer;
oFlds.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = nSmtpAuthenticate;
oFlds.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = sUserName;
oFlds.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = sPassword;
oFlds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = nSmtpServerPort;
oFlds.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = bSmtpUseSsl;
oFlds.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = nSmtpConnectionTimeout;
oFlds.Update();
// Konec sekce vzdálené konfigurace SMTP serveru
oMsg.Send();
Dim nSendUsing, oMsg, oFlds, nSmtpAuthenticate, sSmtpServer, sFrom, sUserName, sPassword, nSmtpServerPort, bSmtpUseSsl, nSmtpConnectionTimeout
nSendUsing = 2
' 1 = Odesílání zprávy pomocí lokálního servisního SMTP přenosu, 2 = Odesílání zprávy přes síť
sSmtpServer = "smtp.aol.com"
' Název nebo IP adresa na připojovaný SMTP server
nSmtpAuthenticate = 1
' Typ autentizace, Žádná=0, Basic=1 (Base64 encoded), NTLM=2
sFrom = "you@aol.com"
' Mailová adresa odesílatele
sUserName = "you@aol.com"
' Uživatelská identifikace odesílatele na SMTP serveru
sPassword = "******"
' Uživatelské heslo na SMTP serveru
nSmtpServerPort = 465
' Port serveru (465, 587, ..)
bSmtpUseSsl = true
' Použít SSL při spojení (false nebo true)
nSmtpConnectionTimeout = 60
' Prodleva při spojení
Set oMsg = Pm.AxGetObject("new", "CDO.Message")
oMsg.BodyPart.Charset = "utf-8"
' "windows-1252" or "iso-8859-2" ...
oMsg.Subject = "Test email from PROMOTIC"
oMsg.From = sFrom
oMsg.To = "xxxx@yahoo.com"
oMsg.TextBody = "Test email from PROMOTIC.." & vbCrLf & "It was sent using SMTP authentication"
' oMsg.HTMLBody = "<h1>Test email from PROMOTIC..</h1><p>It was sent using SMTP authentication.</p>
oMsg.Addattachment "c:/temp/Text.txt"
' oMsg.Addattachment "c:/temp/Text2.txt"
' Toto je sekce kde se definuje a konfiguruje připojení na vzdálený SMTP server
Set oFlds = oMsg.Configuration.Fields
oFlds.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = nSendUsing
oFlds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = sSmtpServer
oFlds.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = nSmtpAuthenticate
oFlds.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = sUserName
oFlds.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = sPassword
oFlds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = nSmtpServerPort
oFlds.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = bSmtpUseSsl
oFlds.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = nSmtpConnectionTimeout
oFlds.Update
' Konec sekce vzdálené konfigurace SMTP serveru
oMsg.Send
http://www.w3schools.com/asp/asp_send_email.asp
Skript pro odeslání emailu technologií CURL:
JavaScriptVyber a zkopíruj do schránky
var sSmtp = "smtps://smtp.aol.com:465";
var sFrom = "name@aol.com";
var sUser = "'nameid:password'";
var sPath = Pm.DiscGetPath("#cfg:");
var sFileName = "email_body.txt";
var sTo = "test@gmail.com";
var sSubject = "Test send mail";
var sTextBody = "Test send mail from Promotic application.";
var sBody = "To: " + sTo + "\n" + "From: " + sFrom + "\n" + "Subject: " + sSubject + "\n\n" + sTextBody;
var bDone = Pm.FileTextWrite(sPath + sFileName, sBody);
if (bDone)
{
var sSend = "--ssl-reqd " + sSmtp + " --mail-from " + sFrom + " --mail-rcpt " + sTo + " --upload-file " + sFileName + " --user " + sUser;
Pm.CreateProcess("curl " + sSend, sPath);
}
Skript pro odeslání emailu technologií PowerShell:
JavaScriptVBScriptVyber a zkopíruj do schránky
var sEmail = "";
sEmail += "$emailSmtpServer = 'smtp.aol.com'\n";
// SMTP server
sEmail += "$emailSmtpServerPort = '587'\n";
// Port 465, 587, ...
sEmail += "$emailFrom = 'name@aol.com'\n";
// Sender's email address
sEmail += "$emailSmtpUser = 'nameid'\n";
// Your UserID on the SMTP server
sEmail += "$emailSmtpPass = 'password'\n";
// Your password on the SMTP server
sEmail += "$emailTo = 'test@gmail.com'\n";
sEmail += "$emailMessage = New-Object System.Net.Mail.MailMessage($emailFrom, $emailTo)\n";
sEmail += "$emailMessage.Subject = 'Test send mail'\n";
// Subject message
sEmail += "$emailMessage.Body = 'Test send mail from Promotic application.'\n";
// Text body message
sEmail += "$SMTPClient = New-Object System.Net.Mail.SmtpClient($emailSmtpServer, $emailSmtpServerPort)\n";
sEmail += "$SMTPClient.EnableSsl = $True\n";
sEmail += "$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($emailSmtpUser, $emailSmtpPass)\n";
sEmail += "$SMTPClient.Send($emailMessage)\n";
var sFilePath = Pm.DiscGetPath("#data:Email.ps1");
var bDone = Pm.FileTextWrite(sFilePath, sEmail);
if (bDone)
{
var oShell = Pm.AxGetObject("new", "WScript.Shell");
oShell.Run("Powershell -executionpolicy remotesigned -File " + sFilePath, 0, true);
}
Pm.FileDelete(sFilePath);
Dim sEmail
sEmail = ""
sEmail = sEmail & "$emailSmtpServer = 'smtp.aol.com'" & vbCrLf
' SMTP server
sEmail = sEmail & "$emailSmtpServerPort = '587'" & vbCrLf
' Port 465, 587, ...
sEmail = sEmail & "$emailFrom = 'name@aol.com'" & vbCrLf
' Sender's email address
sEmail = sEmail & "$emailSmtpUser = 'nameid'" & vbCrLf
' Your UserID on the SMTP server
sEmail = sEmail & "$emailSmtpPass = 'password'" & vbCrLf
' Your password on the SMTP server
sEmail = sEmail & "$emailTo = 'test@gmail.com'" & vbCrLf
sEmail = sEmail & "$emailMessage = New-Object System.Net.Mail.MailMessage($emailFrom, $emailTo)" & vbCrLf
sEmail = sEmail & "$emailMessage.Subject = 'Test send mail'" & vbCrLf
' Subject message
sEmail = sEmail & "$emailMessage.Body = 'Test send mail from Promotic application.'" & vbCrLf
' Text body message
sEmail = sEmail & "$SMTPClient = New-Object System.Net.Mail.SmtpClient($emailSmtpServer, $emailSmtpServerPort)" & vbCrLf
sEmail = sEmail & "$SMTPClient.EnableSsl = $True" & vbCrLf
sEmail = sEmail & "$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($emailSmtpUser, $emailSmtpPass)" & vbCrLf
sEmail = sEmail & "$SMTPClient.Send($emailMessage)" & vbCrLf
Dim sFilePath
sFilePath = Pm.DiscGetPath("#data:Email.ps1")
Dim bDone
bDone = Pm.FileTextWrite(sFilePath, sEmail)
If bDone Then
Dim oShell
Set oShell = Pm.AxGetObject("new", "WScript.Shell")
oShell.Run "Powershell -executionpolicy remotesigned -File " & sFilePath, 0, true
End If
Pm.FileDelete sFilePath
Skript pro odeslání emailu z programu Thunderbird:
JavaScriptVBScriptVyber a zkopíruj do schránky
var sTo = "test@gmail.com";
var sSubject = "Test send mail";
var sBody = "Test send mail from Promotic application.";
var sPath = "c:/Program Files (x86)/Mozilla Thunderbird/";
var sParams = "-compose subject=" + sSubject + ",to=" + sTo + ",body=" + sBody;
Pm.ShellExecute("open", sPath + "thunderbird.exe", sParams, 3);
Dim sTo, sSubject, sBody, sPath, sParams
sTo = "test@gmail.com"
sSubject = "Test send mail"
sBody = "Test send mail from Promotic application."
sPath = "c:/Program Files (x86)/Mozilla Thunderbird/"
sParams = "-compose subject=" & sSubject & ",to=" & sTo & ",body=" & sBody
Pm.ShellExecute "open", sPath & "thunderbird.exe", sParams, 3