private static bool SendFtp(FtpSettings ftp, string source, bool ret = true) { try { FtpWebRequest request = (FtpWebRequest)WebRequest.Create(new Uri(ftp.ServerAdress)); request.Method = WebRequestMethods.Ftp.UploadFileWithUniqueName; request.Credentials = new NetworkCredential(ftp.Username, ftp.Password); byte[] fileContents; using (StreamReader sourceStream = new StreamReader(new FileInfo(source).FullName)) { fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd()); } request.ContentLength = fileContents.Length; using (Stream requestStream = request.GetRequestStream()) { requestStream.Write(fileContents, 0, fileContents.Length); } using (FtpWebResponse response = (FtpWebResponse)request.GetResponse()) { Console.WriteLine("Upload File Complete, status {0}", response.StatusDescription); } return(true); } catch { ret = false; return(ret); } }