Jump to content
Sign in to follow this  
Wolfernox

Powershell Mail erstellen

Recommended Posts

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)

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites

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)

 

Share this post


Link to post
Share on other sites
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)

Share this post


Link to post
Share on other sites

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:

 

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Werbepartner:



×
×
  • Create New...