Как я использую Почтовые протоколы Windows? (С #?) - PullRequest
0 голосов
/ 31 октября 2010

Что ж, для моих программ я бы хотел, чтобы пользователь отправлял мне электронное письмо с любыми ошибками. Вместо того чтобы полагаться на заброшенный SMTP-сервер, я решил позволить пользователю использовать свой собственный почтовый клиент для отправки электронной почты на указанный адрес.

Так что мне нужно:
Отправитель (не должен быть изменяемым) (пример: mysupportemail@gmail.com)
Прикрепленный файл (не должен быть изменяемым) (пример: "C: \ a file.log")
(Необязательно) Кузов (изменяемый)

Я надеюсь, что это возможно!

Ответы [ 4 ]

1 голос
/ 31 октября 2010
1 голос
/ 31 октября 2010

Протокол mailto имеет ограничения, такие как невозможность указать вложение (некоторые почтовые клиенты поддерживают его, но его нет в официальном протоколе). Лучше всего использовать функцию MAPISendMail, чтобы MAPI выполнял тяжелую работу. Подробности смотрите в этой статье:

Отправка файлов через почтовый клиент по умолчанию

Я использовал эту технику в прошлом, похоже, она отлично работает.

1 голос
/ 31 октября 2010

Использование mailto непосредственно из вашего приложения может вызвать проблемы. Если вы указали почтовую учетную запись для получения электронных писем, вы можете быть уверены, что кто-то будет использовать ее для отправки вам спама или тысяч нежелательных писем. В нашей компании мы много раз боролись с этой проблемой - наконец, мы решили позволить нашим клиентам сообщать о проблемах любым другим способом - в форме веб-страницы. Теперь, когда клиент нажимает «сообщить о проблеме», эта опция отображает форму для сообщения об ошибках в веб-браузере по умолчанию. Открытая ссылка содержит некоторую дополнительную информацию, которая вызывает частичное заполнение формы, открытой клиентом. Теперь у нас есть промежуточный уровень и абсолютный контроль на стороне сервера, который сообщает о проблеме (ip), и мы можем ограничить отчетность для определенных пользователей. Следующее преимущество этого решения заключается в том, что вы можете пересылать электронные письма различным отделам в зависимости от того, какие поля формы помечены / заполнены.

1 голос
/ 31 октября 2010

Для этого вы можете использовать команду mailto.См. http://msdn.microsoft.com/en-us/library/aa767737(VS.85).aspx для получения дополнительной информации.Некоторые почтовые клиенты поддерживают вложения в этом.Для получения дополнительной информации см. Комментарии на странице MSDN.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...