View Full Version : [C#] invio mail
schumy79
01-11-2009, 15:21
ciao, ho un problema con un allegato da mettere in una mail.
Ho in videata un oggetto "fileupload" ma se seleziono un file dal desktop non mi porta dietro la path del desktop.
che devo fare? :stordita:
theking0
01-11-2009, 16:34
ciao, ho un problema con un allegato da mettere in una mail.
Ho in videata un oggetto "fileupload" ma se seleziono un file dal desktop non mi porta dietro la path del desktop.
che devo fare? :stordita:
Non è chiaro il tuo problema ... spiegati meglio.
Magari posta il codice di dove credi sia il problema.
schumy79
02-11-2009, 09:02
si scusami.
Sto iniziando a programmare con c# e sono partito dallo spedire una mail tramite la pressione di un Bottone (diciamo che voglio capire come funziona la programmazione). Una volta che sono riuscito a inviare la mail, ho provveduto ad allegarci un file. Problema: ho creato un oggetto FileUpload, ma dopo aver scelto il file da agganciarci, la path non era C:\..\desktop\miofile.txt ma era la path del website. Ieri sera ho fatto in modo di salvare il file in una directory temporanea, e funziona. Ma il file non riesco a cancellarlo dopo aver inviato la mail :mbe:
Domande:
1. posso evitare di salvare il file recuperando dall'oggetto FileUpload la path?
2. Se la risposta alla domanda 1 è no, perchè non riesco a cancellare il file?
Grazie.
Allego il codice :)
public partial class _Default : System.Web.UI.Page
{
protected void Button1_Click(object sender, EventArgs e)
{
string saveDir = @"d:\web-upload\";
//string appPath = Request.PhysicalApplicationPath;
string savePath = saveDir + Server.HtmlEncode(F1.FileName);
F1.SaveAs(savePath);
Label1.Text = CreateTestMessage2("smtp.gmail.com", savePath);
}
public string CreateTestMessage2(string server, string file)
{
string to = "xxx";
string from = "yyy";
MailMessage message = new MailMessage(from, to);
message.Subject = "Using the new SMTP client.";
message.Body = @"Using this new feature, you can send an e-mail message from an application very easily.";
SmtpClient client = new SmtpClient(server);
// Credentials are necessary if the server requires the client
// to authenticate before it will send e-mail on the client's behalf.
System.Net.NetworkCredential SMTPUserInfo = new NetworkCredential();
Attachment attach = new Attachment(file);
message.Attachments.Add(attach);
client.UseDefaultCredentials = true;
client.EnableSsl = true;
client.Credentials = SMTPUserInfo;
client.Port = 587;
try
{
client.Send(message);
File.Delete(file);
return "email inviata";
}
catch (Exception)
{
return "email non inviata";
File.Delete(file);
}
}
}
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.