• Outlook User
  • Exchange Admin
  • Office 365
  • Outlook Developer
  • Outlook.com
  • Outlook Mac
  • Outlook & iCloud
    • Common Problems
    • Outlook BCM
    • Utilities & Addins
    • Video Tutorials
    • EMO Archives
    • Outlook Updates
    • Outlook Apps
    • Forums

Create Task or Appointment and Insert Selected Text

Slipstick Systems

› Developer › Code Samples › Create Task or Appointment and Insert Selected Text

Last reviewed on August 29, 2018     23 Comments

May 19, 2016 by Diane Poremsky 23 Comments

My article at "Create a Task from an Email using a Rule" shows how to create a task from an email message but what if only want to include the actionable part of the message in the task?

You don't actually need a macro to do this - Outlook has a pretty cool feature built in that makes this easy: just select the text and drag to the Tasks button on the navigation pane and drop. A new task form opens with the selected text in the task body, ready for you to fill out the subject and dates.

You can drag text to any folder to create an item with the text in the body field; this method can be used to create an appointment, contact, new message, or a note.It's not limited to content already in Outlook - you can drag a selection in a web page in Edge in Windows 10 (this worked in IE in old versions of Windows & Outlook) or Word.

If an application doesn't support dragging, you can copy and paste in a folder to create a new item. You'll need to use Ctrl+V to paste after clicking on the list pane - the folder should be highlighted gray (inactive selection), not blue.

While you don't need a macro to do this, using a macro can save time. It can automatically add a subject (any predefined subject of your choosing, such as using the sender's name, received date, or message subject) and it can set start and due dates.

Dropping text on the Task button creates the task in the default Tasks folder; a macro can add it to a different tasks folder. If you're not good at dragging (not ususual if you're using a touch pad), a macro is one click.

If you routinely create tasks using content copied from other applications, a macro can create the task using the content on the clipboard.

Create Task Using Selected Text

To use this macro: Select the text you want in the Task then run the macro (add it to the ribbon for easy access). If you want to copy the entire message body, the macro can select it for you, by adding .WholeStory before the .Copy line.

This macro creates a task with a date date 3 days from the email's received date and adds the original message as an attachment. The formatting of the selected message carries into the task (including images).
create a task from the selection

Before using this macro you need to do two things: get the GetCurrentItem function from "Outlook VBA: Work with Open Item or Selected Item" (this allows you to use the macro with open or selected messages) and select the Microsoft Word Object Library in the VB Editor's Tools, References. You also need to have macro security set to low.

By using the Word Object Library, we can use Word's VBA commands to copy a selection in the message body and paste it into the Task or Appointment, all of which use Word as the editor.

Sub ConvertSelectionToTask()
' You need the GetCurrentItem Function from
'http://slipstick.me/e8mio

    Dim objTask As Outlook.TaskItem
    Dim objMail As Outlook.MailItem
     
    ' Add reference to Word library
    ' in VBA Editor, Tools, References
    Dim objWord As Word.Application
    Dim objInsp As Inspector
    Dim objDoc As Word.Document
    Dim objSel As Word.Selection
   
    On Error Resume Next
    
   Set objMail = GetCurrentItem()
   Set objTask = Application.CreateItem(olTaskItem)

  If Not objMail Is Nothing Then
        If objMail.Class = olMail Then
            Set objInsp = objMail.GetInspector
            If objInsp.EditorType = olEditorWord Then
                Set objDoc = objInsp.WordEditor
                Set objWord = objDoc.Application
                Set objSel = objWord.Selection
        With objSel
           'use wholestory to copy the entire message body 
            ' .WholeStory
             .Copy
       End With
 
            End If
        End If
    End If
     
 Set objInsp = objTask.GetInspector
 Set objDoc = objInsp.WordEditor
 Set objSel = objDoc.Windows(1).Selection

With objTask
    .Subject = objMail.Subject
    .DueDate = objMail.ReceivedTime + 3
    .StartDate = objMail.ReceivedTime + 2
     objSel.PasteAndFormat (wdFormatOriginalFormatting)
    .Categories = "From Email"
   ' .Save
    .Save
    .Display
    .Attachments.Add objMail
End With

    objMail.Categories = "Task" & objMail.Categories

    Set objTask = Nothing
    Set objMail = Nothing
    Set objSel = Nothing
    Set objInsp = Nothing
    Set objWord = Nothing
 End Sub

Create Appointment and Insert Selection

This version of the macro creates an appointment and inserts the selected text (including formatting) into the appointment body. If you want to copy the entire message body, the macro can select it for you, using .WholeStory before the .Copy line.

Instead of inserting a copy of the original message as an attachment as the Task macro does, it inserts a link to the original message (the link may not work if the message is moved).

Copy selected text to an appointment

This macro uses the next appointment period for the start date and time (Outlook's default).


Sub ConvertSelectionToAppointment()
' You need the GetCurrentItem Function from
'http://slipstick.me/e8mio

    Dim objAppt As Outlook.AppointmentItem
    Dim objMail As Outlook.MailItem
    Dim strID As String
    Dim strLink, strLinkText As String
   
    ' Add reference to Word library
    ' in VBA Editor, Tools, References
    Dim objInsp As Inspector
    Dim objDoc As Word.Document
    Dim objSel As Word.Selection

    Set objMail = GetCurrentItem()

    strID = objMail.EntryID
    strLink = "outlook:" & strID
    strLinkText = objMail.Subject
      
    On Error Resume Next
  
  If Not objMail Is Nothing Then
        If objMail.Class = olMail Then
            Set objInsp = objMail.GetInspector
            If objInsp.EditorType = olEditorWord Then
                Set objDoc = objInsp.WordEditor
                Set objWord = objDoc.Application
                Set objSel = objWord.Selection
        With objSel
           'use wholestory to copy the entire message body 
            ' .WholeStory
             .Copy
       End With
 
            End If
        End If
    End If
     

    Set objAppt = Application.CreateItem(olAppointmentItem)
    Set objInsp = objAppt.GetInspector
    Set objDoc = objInsp.WordEditor
    Set objSel = objDoc.Windows(1).Selection

With objAppt
    .Subject = objMail.Subject
    .Categories = "From Email"
    '.Attachments.Add objMail
    objSel.PasteAndFormat (wdFormatOriginalFormatting)

    objSel.Range.InsertParagraphBefore
    objSel.Range.InsertParagraphBefore
    objDoc.Hyperlinks.Add objSel.Range, strLink, "", "", strLinkText, ""
    objSel.Range.InsertBefore vbCrLf & " Link to message: " & vbCrLf

    '.Save
    .Display
End With
    
    objMail.Categories = "Appt" & objMail.Categories
    Set objAppt = Nothing
    Set objMail = Nothing
End Sub

Clipboard to Tasks

This macro creates a task with the contents of the clipboard added to the task body. As with the other macros, you need to set a reference to Word's Object library in Tools, References.

 Private Sub ClipboardToTask()
    Dim objTask As Outlook.TaskItem
     
    ' Add reference to Word library
    ' in VBA Editor, Tools, References
    Dim objWord As Word.Application
    Dim objInsp As Inspector
    Dim objDoc As Word.Document
    Dim objSel As Word.Selection

    On Error Resume Next
    Set objTask = Application.CreateItem(olTaskItem)
     
 Set objInsp = objTask.GetInspector
 Set objDoc = objInsp.WordEditor
 Set objSel = objDoc.Windows(1).Selection

With objTask
    .DueDate = Now + 3
    .StartDate = Now + 2
    .ReminderSet = True
    .ReminderTime = .DueDate + "2:00:00 PM"
     objSel.PasteAndFormat (wdFormatOriginalFormatting)
    .Display
End With

    Set objTask = Nothing
    Set objSel = Nothing
    Set objInsp = Nothing
    Set objWord = Nothing
 End Sub
 

 

How to use the macros on this page

First: You need to have macro security set to the lowest setting, Enable all macros during testing. The macros will not work with the top two options that disable all macros or unsigned macros. You could choose the option Notification for all macros, then accept it each time you restart Outlook, however, because it's somewhat hard to sneak macros into Outlook (unlike in Word and Excel), allowing all macros is safe, especially during the testing phase. You can sign the macro when it is finished and change the macro security to notify.

To check your macro security in Outlook 2010 and newer, go to File, Options, Trust Center and open Trust Center Settings, and change the Macro Settings. In Outlook 2007 and older, look at Tools, Macro Security.

After you test the macro and see that it works, you can either leave macro security set to low or sign the macro.

Macros that run when Outlook starts or automatically need to be in ThisOutlookSession, all other macros should be put in a module, but most will also work if placed in ThisOutlookSession. (It's generally recommended to keep only the automatic macros in ThisOutlookSession and use modules for all other macros.) The instructions are below.

The macros on this page should be placed in a module.

Open the VBA Editor by pressing Alt+F11 on your keyboard.

To put the code in a module:

  1. Right click on Project1 and choose Insert > Module
  2. Copy and paste the macro into the new module.

Set a reference to other Object Libraries
If you receive a "User-defined type not defined" error, you need to set a reference to another object library.

  1. Go to Tools, References menu.
  2. Locate the object library in the list and add a check mark to it. (Word and Excel object libraries version numbers will match Outlook's version number.)
    Reference the Word object model in Outlook's VBA Editor

Commonly used libraries are Microsoft Word, Microsoft Excel, Microsoft Forms, and VBScript Regular Expression.

More information as well as screenshots are at How to use the VBA Editor

More Information

  • Automatically create a task when sending a message
  • Create a Task from an Email using a Rule
  • Create an Outlook Appointment from a Message
  • Create Tasks from Email and move to different Task folders
  • Replicate GTD: Create a task after sending a message

Discuss in our community
Create Task or Appointment and Insert Selected Text was last modified: August 29th, 2018 by Diane Poremsky

Related Posts:

  • Create a Task and copy to another Tasks folder
  • Replicate GTD: Create a task after sending a message
  • Create an Outlook Appointment from a Message
  • Merge to email using only Outlook

About Diane Poremsky

A Microsoft Outlook Most Valuable Professional (MVP) since 1999, Diane is the author of several books, including Outlook 2013 Absolute Beginners Book. She also created video training CDs and online training classes for Microsoft Outlook. You can find her helping people online in Outlook Forums as well as in the Microsoft Answers and TechNet forums.

23
Leave a Reply

2500
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 
2500
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 

  Subscribe  
newest oldest most voted
Notify of
A Colmenares
A Colmenares

Another question. Is there a way of adding to the task any attachments that came in the original message? That is actually the only reason i need to attach the original message: to be able to access the attachments that are in the original message. But if there is a way of copying the text and adding the attachments, that would make it.

Vote Up00Vote Down Reply
January 4, 2017 12:50 pm
Diane Poremsky
Diane Poremsky

you can. You'd save the attachment from the message then add it to the task. A working sample of the method is at https://www.slipstick.com/outlook/email/reply-replyall-attachments/

You'd use
CopyAttachments oItem, oTask
when you create the task and use the copyAttachments function:
Sub CopyAttachments(objSourceItem, objTargetItem)
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldTemp = fso.GetSpecialFolder(2) ' TemporaryFolder
strPath = fldTemp.Path & "\"
For Each objAtt In objSourceItem.Attachments
strFile = strPath & objAtt.FileName
objAtt.SaveAsFile strFile
objTargetItem.Attachments.Add strFile, , , objAtt.DisplayName
fso.DeleteFile strFile
Next

Set fldTemp = Nothing
Set fso = Nothing
End Sub

Vote Up00Vote Down Reply
January 4, 2017 11:44 pm
A Colmenares
A Colmenares

Thank you for your quick response. I'm glad to know it can actually be done. I'm not very good at VBA, so after trying for a couple of hours to figure it out on my own and not succeeding I figured it would be easier to ask. Could you send me how the whole macro goes? (The one to create the task with the text and the original message attached works fine, I would just need to add the part of adding also the attachments). I hope it is not too much to ask.

Vote Up00Vote Down Reply
January 5, 2017 4:22 am
A Colmenares
A Colmenares

Thank you for your response. I already added the copyAttachments function at the bottom. I didn't understand the part of adding the CopyAttachments oItem, oTask part. Where and what exactly would I have to copy into the macro?

Vote Up00Vote Down Reply
January 5, 2017 7:04 am
A Colmenares
A Colmenares

Great Macro. It has saved me a lot of time. One question. Is there a way of having the original message attached at the beginning of the text and not at the end? I guess it's a matter of changing the order of the commands in VBA, but I haven't been able to figure it out yet.

Vote Up00Vote Down Reply
January 4, 2017 12:46 pm
Diane Poremsky
Diane Poremsky

It might be possible using word object model to insert the attachment object at the top. I don't think i have any code samples that do that using an attachment though.

Vote Up00Vote Down Reply
January 4, 2017 11:40 pm
Doug
Doug

How about adding a calendar appointment to a shared calendar, and pasting the clipboard contents into the body? I've gotten close, but can't seem to make it work. Thanks!!!!!

Vote Up00Vote Down Reply
December 15, 2016 11:01 am
Diane Poremsky
Diane Poremsky

I use https://www.slipstick.com/developer/code-samples/create-outlook-appointment-from-message/ to copy a message body to an appointment.

You'd set the folder and use items.add (or move to the shared calendar)
Set objOwner = NS.CreateRecipient("maryc")
objOwner.Resolve
If objOwner.Resolved Then
'MsgBox objOwner.Name
Set newCalFolder = NS.GetSharedDefaultFolder(objOwner, olFolderCalendar)
set olAppt = newCalFolder.Items.Add(olAppointmentItem)

Vote Up00Vote Down Reply
January 4, 2017 11:35 pm
A Colmenares
A Colmenares

What would I need to add to the script if I want the original message deleted from the inbox after the task is created?

Vote Up00Vote Down Reply
November 15, 2016 9:38 am
Diane Poremsky
Diane Poremsky

add objMail.Delete after the task is created.

Vote Up00Vote Down Reply
November 15, 2016 4:31 pm
Peter Hawkes
Peter Hawkes

Running Create Appointment and Insert Selection gives me an error - Compile Error: Cant find project or library on the line Set objWord = objDoc.Application

I have the Microsoft Word 16.0 Object Library selected in References?

Vote Up00Vote Down Reply
July 1, 2016 1:28 am
Diane Poremsky
Diane Poremsky

That should be the cause of that error. If you didn't have the GetCurrentItem Function, i'd expect a different error. Try unchecking it, click ok then reselect it.

Vote Up00Vote Down Reply
July 1, 2016 8:40 am
Ed Corcoran
Ed Corcoran

.Attachments.Add objMail does not seem to be working for me.

Vote Up00Vote Down Reply
June 2, 2016 5:12 pm
Diane Poremsky
Diane Poremsky

any error messages?

I had that problem and fixed it by changing the order in the code - but i thought it wiped out the text in the body if its too high up the list.
does it work if you move it and display below the end with
objTask.Attachments.Add objMail
objTask.Display

Vote Up00Vote Down Reply
June 3, 2016 12:13 pm
Ed Corcoran
Ed Corcoran

There is no error message. I tried moving outside the End With and that did not work. Adding your CopyAttachments method before objTask.Attachments.Add objMail does work. Strange since CopyAttachments is simply doing an Attachments.Add.

Vote Up00Vote Down Reply
June 3, 2016 12:34 pm
Diane Poremsky
Diane Poremsky

Copyattachments is needed to move attachments from one item to another and shouldn't be needed for this.

Vote Up00Vote Down Reply
June 15, 2016 1:13 pm
Ed Corcoran
Ed Corcoran

That worked for me also. Thank you. I am using CopyAttachments because I am trying to turn the entire email into a task with a copy of the email and the attachments at the top and the entire formatted email body below the attachments.

Vote Up10Vote Down Reply
June 16, 2016 11:14 am
Issac
Issac

Dear Diane and Ed,
Can you please share the entire code as i was trying to do the same with no success (and with no knowledge at coding). Getting the whole mail as attachment worked but i want the mail attachments.

I've tried adding the below lines before the .save ( as i've seen else were in the site but it didn't work).

If itm.Attachments.Count > 0 Then
CopyAttachments itm, objTask
End If

Thanks in advance

Vote Up00Vote Down Reply
October 26, 2016 4:00 pm
Diane Poremsky
Diane Poremsky

if you want just the attachments in the message, you need to get the attachment collection, save them to the drive then add them to the task.

The sub saves it from the original email and this line adds it to the task- the first macro with this change added is at save-task-attachments.txt
CopyAttachments objMail, objTask

Sub CopyAttachments(objSourceItem, objTargetItem)
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldTemp = fso.GetSpecialFolder(2) ' TemporaryFolder
strPath = fldTemp.Path & "\"
For Each objAtt In objSourceItem.Attachments
strFile = strPath & objAtt.FileName
objAtt.SaveAsFile strFile
objTargetItem.Attachments.Add strFile, , , objAtt.DisplayName
fso.DeleteFile strFile
Next

Set fldTemp = Nothing
Set fso = Nothing
End Sub

Vote Up0-1Vote Down Reply
November 15, 2016 5:35 pm
Abel
Abel

Hi Daine, I am trying to apply a similar concept to manage my projects tasks in Outlook. I am using a subfolder under the default Tasks folder, to list all my projects as tasks and enclose the [Project Name] in brackets, in the 'Project Tasks' -subject field, in order to differentiate from regular – non project related tasks. When creating a new Project ('Main Project Task') I also add the next steps of the project to the task note field, listing one action per line. Ideally, I would the macro to create the next project task using the [Project Name] and the first line in the notes field as the task subject. As soon as I complete such task, create the next task, following the same criteria with the second line in the notes field, and marking the first line in the notes field (previously completed task) with an “x" at the beginning of the line, in order to show project progress. Example: Project list under a Task subfolder, comprised of [Main Project tasks], like these: [Project A] [Project B] [Project C] Project next steps listed in the notes field of the main project task, like this: [Project A] Notes:… Read more »

Vote Up00Vote Down Reply
June 21, 2017 5:08 pm
Diane Poremsky
Diane Poremsky

This is working here
With objTask
.Subject = objMail.Subject
.DueDate = objMail.ReceivedTime + 3
.StartDate = objMail.ReceivedTime + 2
objSel.PasteAndFormat (wdFormatOriginalFormatting)
.Categories = "From Email"
' .Save
.Display
End With
objTask.Attachments.Add objMail

Vote Up00Vote Down Reply
June 15, 2016 1:17 pm
Ed Corcoran
Ed Corcoran

Saving to the file system as a .msg works.

Vote Up00Vote Down Reply
June 3, 2016 5:41 pm
Diane Poremsky
Diane Poremsky

adding the attachment after displaying it works too
.Display
.Attachments.Add objMail
End With

Vote Up0-1Vote Down Reply
June 15, 2016 1:21 pm

Visit Slipstick Forums.
What's New at Slipstick.com

Latest EMO: Vol. 24 Issue 3

Support Services

Do you need help setting up Outlook, moving your email to a new computer, migrating or configuring Office 365, or just need some one-on-one assistance?

Subscribe to Exchange Messaging Outlook






Our Sponsors

  • Popular
  • Latest
  • Week Month All
  • Adjusting Outlook's Zoom Setting in Email
  • The Signature or Stationery and Fonts button doesn't work
  • Security Certificate Warning in Microsoft Outlook
  • This operation has been cancelled due to restrictions
  • How to Remove the Primary Account from Outlook
  • Two Copies of Sent Messages in Outlook
  • iCloud error: Outlook isn't configured to have a default profile
  • Outlook's Rules and Alerts: Run a Script
  • Outlook is Not Recognized as the Default Email Client
  • Outlook and Gmail's Less Secure Apps Setting
  • Outlook.com: Manage Subscriptions
  • Group By Views don’t work in To-Do List
  • Category shortcuts don’t work
  • How to disable the Group By view in Outlook
  • Adjusting Outlook's Zoom Setting in Email
  • Change the Subject of an Incoming Message
  • Creating Signatures in Outlook
  • Scheduling a Recurring Message
  • OneNote is missing from Office 365 / 2019
  • Create Rules using PowerShell
Ajax spinner

Newest VBA Samples

Adjusting Outlook's Zoom Setting in Email

Move email items based on a list of email addresses

Remove prefix from Gmail meeting invitations

How to hide LinkedIn, Facebook, Google and other extra contact folders in Outlook.com

Use VBA to create a Mail Merge from Excel

Open multiple Outlook windows when Outlook starts

Set most frequently used Appointment Time Zones

How to change the From field on incoming messages

VBA: File messages by client code

Update Contact Area Codes

Recent Bugs List

Microsoft keeps a running list of issues affecting recently released updates at Fixes or workarounds for recent issues in Outlook for Windows.

Windows 10 Issues

  • iCloud, Outlook 2016, and Windows 10
  • Better Outlook Reminders?
  • Coming Soon to Windows 10: Office 365 Search
  • Outlook Links Won’t Open In Windows 10
  • BCM Errors after Upgrading to Windows 10
  • Outlook can’t send mail in Windows 10: error Ox800CCC13
  • Missing Outlook data files after upgrading Windows?

Outlook 2016 Top Issues

  • The Windows Store Outlook App
  • Emails are not shown in the People Pane (Fixed)
  • Calendars aren’t printing in color
  • The Signature or Stationery and Fonts button doesn’t work
  • Outlook’s New Account Setup Wizard
  • BCM Errors after October 2017 Outlook Update
  • Excel Files Won’t Display in Reading Pane
  • Outlook 2016: No BCM
  • Exchange Account Set-up Missing in Outlook 2016

VBA Basics

How to use the VBA Editor

Work with open item or selected item

Working with All Items in a Folder or Selected Items

VBA and non-default Outlook Folders

Backup and save your Outlook VBA macros

Get text using Left, Right, Mid, Len, InStr

Using Arrays in Outlook macros

Use RegEx to extract message text

Paste clipboard contents

Windows Folder Picker

Custom Forms

Designing Microsoft Outlook Forms

Set a custom form as default

Developer Resources

Developer Resources

Developer Tools

Outlook-tips.net Samples

VBOffice.net samples

OutlookCode.com

SlovakTech.com

Outlook MVP David Lee

MSDN Outlook Dev Forum

Repair PST

Convert an OST to PST

Repair damaged PST file

Repair large PST File

Remove password from PST

Merge Two Data Files

Sync & Share Outlook Data

  • Share Calendar & Contacts
  • Synchronize two computers
  • Sync Calendar and Contacts Using Outlook.com
  • Sync Outlook & Android Devices
  • Sync Google Calendar with Outlook
  • Access Folders in Other Users Mailboxes
  • “Live” Group Calendar Tools

Convert to / from Outlook

  • Converting Messages and Calendar or
    Address books
  • Moving Outlook to a New Computer
  • Moving Outlook 2010 to a new Windows computer
  • Moving from Outlook Express to Outlook

Recover Deleted Items

  • Recover deleted messages from .pst files
  • Are Deleted Items gone forever in Outlook?

Outlook 2013 Absolute Beginner's Guide

Diane Poremsky [Outlook MVP]

Make a donation

Calendar Tools

Schedule Management

Calendar Printing Tools

Calendar Reminder Tools

Calendar Dates & Data

Time and Billing Tools

Meeting Productivity Tools

Duplicate Remover Tools

Mail Tools

Sending and Retrieval Tools

Mass Mail Tools

Compose Tools

Duplicate Remover Tools

Mail Tools for Outlook

Online Services

Productivity

Productivity Tools

Automatic Message Processing Tools

Special Function Automatic Processing Tools

Housekeeping and Message Management

Task Tools

Project and Business Management Tools

Choosing the Folder to Save a Sent Message In

Run Rules on messages after reading

Help & Suggestions

Outlook Suggestion Box (UserVoice)

Slipstick Support Services

Contact Tools

Data Entry and Updating

Duplicate Checkers

Phone Number Updates

Contact Management Tools

Sync & Share

Share Calendar & Contacts

Synchronize two machines

Sharing Calendar and Contacts over the Internet

More Tools and Utilities for Sharing Outlook Data

Access Folders in Other Users Mailboxes

View Shared Subfolders in an Exchange Mailbox

"Live" Group Calendar Tools

Home | Outlook User | Exchange Administrator | Office 365 | Outlook.com | Outlook Developer
Outlook for Mac | Outlook BCM | Common Problems | Utilities & Addins | Tutorials
Outlook & iCloud Issues | Outlook Apps
EMO Archives | About Slipstick | Advertise | Slipstick Forums
Submit New or Updated Outlook and Exchange Server Utilities

Send comments using our Feedback page
Copyright © 2019 Slipstick Systems. All rights reserved.
Slipstick Systems is not affiliated with Microsoft Corporation.

You are going to send email to

Move Comment