Wolfernox 0 Geschrieben 30. Juli 2019 Melden Teilen Geschrieben 30. Juli 2019 Hallo, ich habe ein Formular erstellt indem man Wörter in Textboxen schreiben kann und in einer Listbox einen buchstaben auswählen kann. Jetzt möchte ich mit diesen angaben eine Mail erstellen. Z.B.: Hallo, Das ist eine Testmail. User: <UserBox> Betreff: <BetreffBox> Listbox: <ListBox> Inhalt:<Inhalt_txt> | = Eingaben aus dem Formular Folgendes Script habe ich schon: Add-Type -AssemblyName System.Windows.Forms [ Add-Type -AssemblyName System.Windows.Forms [System.Windows.Forms.Application]::EnableVisualStyles() $Form = New-Object system.Windows.Forms.Form $Form.ClientSize = '1250,500' $Form.text = "Ticket-Mail Generator" $Form.TopMost = $false $ListBox = New-Object system.Windows.Forms.ComboBox $ListBox.text = "Bitte Auswählen" $ListBox.width = 1100 $ListBox.height = 20 @('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T') | ForEach-Object {[void] $ListBox.Items.Add($_)} $ListBox.location = New-Object System.Drawing.Point(129,101) $ListBox.Font = 'Microsoft Sans Serif,10' $UserBox = New-Object system.Windows.Forms.TextBox $UserBox.multiline = $false $UserBox.width = 150 $UserBox.height = 20 $UserBox.location = New-Object System.Drawing.Point(72,22) $UserBox.Font = 'Microsoft Sans Serif,10' $BetreffBox = New-Object system.Windows.Forms.TextBox $BetreffBox.multiline = $false $BetreffBox.width = 350 $BetreffBox.height = 20 $BetreffBox.location = New-Object System.Drawing.Point(72,48) $BetreffBox.Font = 'Microsoft Sans Serif,10' $User = New-Object system.Windows.Forms.Label $User.text = "User:" $User.AutoSize = $true $User.width = 25 $User.height = 10 $User.location = New-Object System.Drawing.Point(13,26) $User.Font = 'Microsoft Sans Serif,10' $Listbox = New-Object system.Windows.Forms.Label $Listbox.text = "Listbox:" $Listbox.AutoSize = $true $Listbox.width = 25 $Listbox.height = 10 $Listbox.location = New-Object System.Drawing.Point(13,105) $Listbox.Font = 'Microsoft Sans Serif,10' $Betreff = New-Object system.Windows.Forms.Label $Betreff.text = "Betreff:" $Betreff.AutoSize = $true $Betreff.width = 25 $Betreff.height = 10 $Betreff.location = New-Object System.Drawing.Point(13,52) $Betreff.Font = 'Microsoft Sans Serif,10' $Inhalt = New-Object system.Windows.Forms.Label $Inhalt.text = "Inhalt:" $Inhalt.AutoSize = $true $Inhalt.width = 25 $Inhalt.height = 10 $Inhalt.location = New-Object System.Drawing.Point(13,145) $Inhalt.Font = 'Microsoft Sans Serif,10' $Inhalt_txt = New-Object system.Windows.Forms.TextBox $Inhalt_txt.multiline = $true $Inhalt_txt.text = "Bitte den Inhalt hier rein schreiben." $Inhalt_txt.width = 950 $Inhalt_txt.height = 322 $Inhalt_txt.location = New-Object System.Drawing.Point(72,145) $Inhalt_txt.Font = 'Microsoft Sans Serif,10' $Senden = New-Object system.Windows.Forms.Button $Senden.text = "Senden" $Senden.width = 100 $Senden.height = 40 $Senden.location = New-Object System.Drawing.Point(1100,420) $Senden.Font = 'Microsoft Sans Serif,10,style=Bold' $Senden.BackColor = "White" $Senden.FlatStyle = "Flat" $Senden.FlatAppearance.BorderColor = "Gray" $Senden.FlatAppearance.MouseOverBackColor = "LightBlue" $Senden.Cursor=[System.Windows.Forms.Cursors]::Hand $Senden.Add_Click({$UserBox.clear()}) $Form.controls.AddRange(@($ListBox,$UserBox,$BetreffBox,$User,$Geschaeftsservice,$Betreff,$Inhalt,$Inhalt_txt,$Senden)) [void]$Form.ShowDialog() Wenn man auf "Senden" drückt soll sich das mail programm öffnen und die mail soll schon im mail programm stehen. (Mail-programm: Outlook 2013) Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 30. Juli 2019 Melden Teilen Geschrieben 30. Juli 2019 Dann darfst du dich mit dem Com Objectmodell von MS Office bzw. Outlook auseinander setzen. Das ganze direkt als Mail verschicken ohne Umweg über Outlook ist keine Alternative? Zitieren Link zu diesem Kommentar
Wolfernox 0 Geschrieben 30. Juli 2019 Autor Melden Teilen Geschrieben 30. Juli 2019 Gerade eben schrieb Dukel: Dann darfst du dich mit dem Com Objectmodell von MS Office bzw. Outlook auseinander setzen. Das ganze direkt als Mail verschicken ohne Umweg über Outlook ist keine Alternative? ohne Outlook würde es auch gehen. hauptsache die mail wird am ende verschickt. und davor sollte man halt noch irgendwo sehen wie der text wirklich aussieht Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 30. Juli 2019 Melden Teilen Geschrieben 30. Juli 2019 https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/send-mailmessage?view=powershell-6 dann musst du den Text anzeigen und einen "Senden" Button einbauen, der obiges aufruft. Zitieren Link zu diesem Kommentar
Wolfernox 0 Geschrieben 30. Juli 2019 Autor Melden Teilen Geschrieben 30. Juli 2019 vor 6 Minuten schrieb Dukel: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/send-mailmessage?view=powershell-6 dann musst du den Text anzeigen und einen "Senden" Button einbauen, der obiges aufruft. Ok aber wie bekomme ich die eingaben zu einem string? Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 30. Juli 2019 Melden Teilen Geschrieben 30. Juli 2019 Z.B. $BetreffBox.Lines $Inhalt_txt.Lines $UserBox.Text Zitieren Link zu diesem Kommentar
MurdocX 949 Geschrieben 30. Juli 2019 Melden Teilen Geschrieben 30. Juli 2019 Ich verschicke meine Mails so (stark vereinfacht): # Abschnitte $Person = "Hr. Mücke" $MeinPersAnrede = "Sehr geehrter $Person" $Abschluss = "MFG" # Mail $MeinText = @" $MeinPersAnrede HIER könnte IHR Text stehen. $Abschluss "@ # Abfeuern :) Send-MailMessage -Encoding UTF8 -Body $MeinText -From "Ich@Ich.de" -SmtpServer "Mailserver" -Subject "Mein Betreff" -To "Du@Du.de" -Credential (Get-Credential) Zitieren Link zu diesem Kommentar
Wolfernox 0 Geschrieben 30. Juli 2019 Autor Melden Teilen Geschrieben 30. Juli 2019 vor 4 Minuten schrieb MurdocX: Ich verschicke meine Mails so (stark vereinfacht): # Abschnitte $Person = "Hr. Mücke" $MeinPersAnrede = "Sehr geehrter $Person" $Abschluss = "MFG" # Mail $MeinText = @" $MeinPersAnrede HIER könnte IHR Text stehen. $Abschluss "@ # Abfeuern :) Send-MailMessage -Encoding UTF8 -Body $MeinText -From "Ich@Ich.de" -SmtpServer "Mailserver" -Subject "Mein Betreff" -To "Du@Du.de" -Credential (Get-Credential) okay das verstehe ich, aber da sagst du ja auch das immer "Hr. Mücke" $Person ist. ich möchte aber immer das was eine person in dieses Textfeld reingeschrieben hat. (also keine feste variable) Zitieren Link zu diesem Kommentar
MurdocX 949 Geschrieben 30. Juli 2019 Melden Teilen Geschrieben 30. Juli 2019 Ein bisschen selber suchen ist auch erlaubt https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/read-host?view=powershell-6 Zitieren Link zu diesem Kommentar
Wolfernox 0 Geschrieben 30. Juli 2019 Autor Melden Teilen Geschrieben 30. Juli 2019 Gerade eben schrieb MurdocX: Ein bisschen selber suchen ist auch erlaubt https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/read-host?view=powershell-6 Habe ich und der Link sagt mir jetzt auch nichts. Bin noch Anfänger in Powershell Zitieren Link zu diesem Kommentar
MurdocX 949 Geschrieben 30. Juli 2019 Melden Teilen Geschrieben 30. Juli 2019 In dem Link sind Beispiele enthalten wie der Befehl genutzt werden kann. Um mit der Powershell arbeiten zu können, muss man sich mit den Grundlagen beschäftigen. Schau Dir mal den Link unten an: Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 30. Juli 2019 Melden Teilen Geschrieben 30. Juli 2019 14 minutes ago, Wolfernox said: okay das verstehe ich, aber da sagst du ja auch das immer "Hr. Mücke" $Person ist. ich möchte aber immer das was eine person in dieses Textfeld reingeschrieben hat. (also keine feste variable) Dann gib einmal den Inhalt von "$UserBox.Text" aus, wie oben geschrieben. Die Grundlagen sind auf jeden Fall nicht verkehrt, bevor man Programme mit einer Gui schreibt. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.