Niniejsza konfiguracja wstępna zostanie wywołana przy założeniu nowego obiektu (np. przy pomocy opcji
"Nowy obiekt ..." w menu kontekstowym obiektu lub naciśnięciem klawisza
Insert po zaznaczeniu obiektu).
Niniejsza konfiguracja wstępna jest przyszeregowana w grupie
"/ Komunikacja / Protokoły i inne środki komunikacji / Email".
Taką konfigurację wstępną można wytworzyć w obiekcie
PmaFolder,
PmaRoot lub
PmaPrototype.
- Konfiguracja wstępna wytworzy zkonfigurowany obiekt typu
PmaFolder zawierający 4 metody. Każda z nich jest oparta na innej technologii wysyłania wiadamości e-mail, ale wykorzystują identyczne z parametrami
sTo,
sSubject,
sBody. Na początku znajdują się zmienne, które ustawią połączenie z serwerem
SMTP.
- Częścią składową konfiguracji wstępnej jest również panel do wysłania wiadomości ale do komunikacji nie jest potrzebny.
Zawiera
Pmg obiekty przeznaczone do wprowadzania adresu mailowego odbiorcy, temat wysyłanej wiadomości oraz treści wiadomości. Następnie obiekt
PmgButton, który w zdarzeniu
onButtonUp woła metodę projektanta
"SendEmail" z odpowiednimi parametrami.
- jest konieczne określić niezbędnych danych do konfiguracji servera SMTP oraz identyfikacji nadawcy maili w dialogu wywołanym przed wytworzeniem obiektu.
- Konfiguracja wstępna panela (obiekt typu
PmaPanel) działa również jako
Web panel. Żeby konfiguracja wstępna działała również w Webie, jest konieczne udostępnić obiekt typu
PmaPanel dla Webu (w karcie "
Web serwer").
Metoda panela
SendEmail może być wywoływana z dowolnego miejsca w aplikacji.
Konfiguratory, które można ustawić przed wytworzeniem konfiguracji wstępnej:
Nazwa wytwarzanego obiektu | Nazwa nowo wytworzonego obiektu w drzewie Pma obiektów.
Maksymalna długość nazwy wynosi 30 znaków.
Jest to nazwa systemowa, może zawierać tylko znaki alfanumeryczne oraz nie może zawierać znaki diakrytyczne (tzn. narodowo zależne znaki), pusty łańcuch, spacje oraz pierwszy znak nie może być liczba.
Domyślnie: "SendEmail" |
|
Adres serwera SMTP | |
Port serwera (465, 587, ..) | |
Adres mailowy nadawcy | |
Identyfikacja użytkownika nadawcy na serwerze SMTP | |
Hasło użytkownika nadawcy na serwerze SMTP | |
---|
Skrypt do odesłania e-maila przy użyciu technologii CDO:
JavaScriptVBScriptWybierz oraz skopiuj do schowka
var nSendUsing, oMsg, oFlds, nSmtpAuthenticate, sSmtpServer, sFrom, sUserName, sPassword, nSmtpServerPort, bSmtpUseSsl, nSmtpConnectionTimeout;
nSendUsing = 2;
// 1 = Wysyłanie wiadomości przy pomocy lokalnego serwisowego transferu SMTP, 2 = Wysyłanie wiadomości poprzez sieć
sSmtpServer = "smtp.aol.com";
// Nazwa lub adres IP podłączanego serwera SMTP
nSmtpAuthenticate = 1;
// Typ uwierzytelnienia, Żadna=0, Basic=1 (Base64 encoded), NTLM=2
sFrom = "you@aol.com";
// Adres mailowy nadawcy
sUserName = "you@aol.com";
// Identyfikacja użytkownika nadawcy na serwerze SMTP
sPassword = "******";
// Hasło użytkownika nadawcy na serwerze SMTP
nSmtpServerPort = 465;
// Port serwera (465, 587, ..)
bSmtpUseSsl = true;
// Wykorzystać SSL podczas połączenia (false lub true)
nSmtpConnectionTimeout = 60;
// Timeout podczas połączenia
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");
// To jest sekcja gdzie można zdefiniować oraz zkonfigurować połączenie ze zdalnym serwerem SMTP
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();
// Koniec sekcji zdalnej konfiguracji serwera SMTP
oMsg.Send();
Dim nSendUsing, oMsg, oFlds, nSmtpAuthenticate, sSmtpServer, sFrom, sUserName, sPassword, nSmtpServerPort, bSmtpUseSsl, nSmtpConnectionTimeout
nSendUsing = 2
' 1 = Wysyłanie wiadomości przy pomocy lokalnego serwisowego transferu SMTP, 2 = Wysyłanie wiadomości poprzez sieć
sSmtpServer = "smtp.aol.com"
' Nazwa lub adres IP podłączanego serwera SMTP
nSmtpAuthenticate = 1
' Typ uwierzytelnienia, Żadna=0, Basic=1 (Base64 encoded), NTLM=2
sFrom = "you@aol.com"
' Adres mailowy nadawcy
sUserName = "you@aol.com"
' Identyfikacja użytkownika nadawcy na serwerze SMTP
sPassword = "******"
' Hasło użytkownika nadawcy na serwerze SMTP
nSmtpServerPort = 465
' Port serwera (465, 587, ..)
bSmtpUseSsl = true
' Wykorzystać SSL podczas połączenia (false lub true)
nSmtpConnectionTimeout = 60
' Timeout podczas połączenia
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"
' To jest sekcja gdzie można zdefiniować oraz zkonfigurować połączenie ze zdalnym serwerem SMTP
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
' Koniec sekcji zdalnej konfiguracji serwera SMTP
oMsg.Send
http://www.w3schools.com/asp/asp_send_email.asp
Skrypt do odesłania e-maila przy użyciu technologii CURL:
JavaScriptWybierz oraz skopiuj do schowka
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);
}
Skrypt do odesłania e-maila przy użyciu technologii PowerShell:
JavaScriptVBScriptWybierz oraz skopiuj do schowka
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
Skrypt do wysyłania wiadomości e-mail z Thunderbirda:
JavaScriptVBScriptWybierz oraz skopiuj do schowka
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