I don't think you mentioned what type of solution you're doing this from.
In a traditional Windows app, you have a few options. You can make sure the logo file is copied to your output directory by right-clicking on it in the project explorer, choosing Properties, and setting the "Copy to Output Directory" feature to "Copy if newer". You will then need to modify your code above to load the image from the executing assembly's path...it's been my experience that Visual Studio will create the "images" project folder.
string logopath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "images/logo.jpg");
A better option, as described by DJ KRAZE, is to add your logo as a resource. If you add it to your project as a resource, then you can write it to a temporary file when it doesn't exist. Then, attach it using the path that you created for the temporary file. You can then delete it when you're done, or keep it around and only recreate it when it doesn't exist.
The third option is to upload the logo to a website and then reference it in your email message by the URL, instead of including it as an attachment. If you are creating a HTML mail message, this is probably the best solution.