Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: нужна ли библиотека при отправке почты из акц.2003
 
 автор: serrock   (17.07.2008 в 15:57)   личное сообщение
 
 

нашел пример отправки почты из акц.2003 по smtp, но не работает ... может нужно подключать библиотеку MS CDO 1.2 или что-нибудь в этом духе? ошибка вылетает какая-то странная, и кодировка сбита, непонятно ...

  Ответить  
 
 автор: FORMAT   (17.07.2008 в 16:06)   личное сообщение
 
 

А SMTP сервер установлен накомпьютере?

  Ответить  
 
 автор: osmor   (17.07.2008 в 16:40)   личное сообщение
 
 

2 serrock
http://hiprog.com/index.php?option=com_content&task=view&id=458
2 Format
зачем?

  Ответить  
 
 автор: SerRock   (18.07.2008 в 09:25)   личное сообщение
 
 

ага, я прямо этот пример и выдрал, подставил свои значения и ... нифига, а ошибка, я не знаю как ее показать, вобщем
Run time error '-2147220973 (80040213)'
Oa?inii?oo ia oaaeinu iiaee??eouny e na?aa?o.

что это, у меня в остальных случаях ошибка читается по "человечески"

  Ответить  
 
 автор: SerRock   (18.07.2008 в 09:32)   личное сообщение
 
 

smtp сервер корпоративный, я в сети ... у меня есть выход в i-net, почта ... может как то не так надо?
на всякий случай привоже код, но он в принципе Ваш, хотя ...

Dim oMSG As Object
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim oConfig As Object
Dim CFields As Object
Dim strBody As String

Set db = CurrentDb
Set rst = db.OpenRecordset("Address_Test")
Set oMSG = CreateObject("CDO.Message")
Set oConfig = CreateObject("CDO.Configuration")
Set CFields = oConfig.Fields
Set oMSG.Configuration = oConfig

CFields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
CFields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.mail.ru" 
CFields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
'CFields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
CFields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "rokin999" 'Login
CFields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "123456789" 'password
CFields("urn:schemas:mailheader:content-language") = "windows-1251"
CFields.Update

oMSG.To = "rokin@r66.ru" 
oMSG.From = "rokin999@mail.ru" 
oMSG.Subject = "Theam" 
oMSG.BodyPart.Charset = "windows-1251"
oMSG.AddAttachment "c:\temp\Test0.rtf" 
strBody = "123" 
oMSG.TextBody = strBody 
oMSG.Send 

Set CFields = Nothing
Set oConfig = Nothing
Set oMSG = Nothing

  Ответить  
 
 автор: osmor   (18.07.2008 в 09:35)   личное сообщение
 
 

на какой строке ошибка?

  Ответить  
 
 автор: SerRock   (18.07.2008 в 09:36)   личное сообщение
 
 

на отправке

  Ответить  
 
 автор: SerRock   (18.07.2008 в 09:37)   личное сообщение
 
 

smtp сервер корпоративный, я в сети ... у меня есть выход в i-net, почта ... может как то не так надо?

  Ответить  
 
 автор: osmor   (18.07.2008 в 10:26)   личное сообщение
 
 

этот логин который вы указываете это логин на Mail.ru?

  Ответить  
 
 автор: SerRock   (18.07.2008 в 11:32)   личное сообщение
 
 

да, я зарегистрировался rokin999@mail.ru

  Ответить  
 
 автор: osmor   (18.07.2008 в 12:27)   личное сообщение
 
 

проверьте есть ли соединение с smtp.mail.ru по 25 порту
(телнетом или настройте outlook express с такими же параметрами)
есть подозрение что соединиться не может

  Ответить  
 
 автор: SerRock   (18.07.2008 в 12:30)   личное сообщение
 
 

попытался сделать через MAPI из примера
http://hiprog.com/index.php?option=com_content&task=view&id=449 , тоже ничего не получилось, сообщение OE SendMail failure Junk(3)
прямо как специально ... может все таки нужно подключить какие-то библиотеки???

  Ответить  
 
 автор: osmor   (18.07.2008 в 12:41)   личное сообщение
 
 

для начала нужно проверить наличие соединения с серверов по SMTP
может он у вас где-то режется на выходе/входе в корпоративную сеть?

  Ответить  
 
 автор: SerRock   (18.07.2008 в 13:01)   личное сообщение
 
 

а как узнать адрес узла mail.ru

  Ответить  
 
 автор: k@s   (18.07.2008 в 14:58)   личное сообщение
 
 

Попробуй это код , у меня работает.
On Error Resume Next
Dim MsgText, MsgFrom, Otkuda
Dim objEmail
Set objEmail = CreateObject("CDO.Message")

Otkuda = InputBox("Город")


objEmail.BodyPart.Charset = "windows-1251"
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "rokin999"
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "123456789"
MsgFrom = ("rokin999@mail.ru")
objEmail.From = MsgFrom
objEmail.AddAttachment ("c:\text.txt")
objEmail.AddAttachment ("c:\text1.txt")
objEmail.To = "rokin999@mail.ru"
'objEmail.From = MsgSubject
objEmail.Subject = Otkuda
objEmail.TextBody = MsgText '("text")
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.mail.ru"
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objEmail.Configuration.Fields.Update

objEmail.Send

If Err.Number <> 0 Then
MsgBox "Отправка письма невозможна по причине: " & Err.Description, , Err.Number
Else
'DoCmd.Close acForm, Me.Name
MsgBox "Сообщение " & ("") & " успешно отправлено."
Err.Clear
End If
Set objEmail = Nothing

  Ответить  
 
 автор: osmor   (18.07.2008 в 15:09)   личное сообщение
 
 

вам не нужен mail.ru
Вам нужен smtp.mail.ru

кнопка "пуск"-"выполнить" - Cmd - "OK"
Набираете
ping smtp.mail.ru

увидите адрес и время отклика
у меня 194.67.23.111, но у вас может быть и другой

Наличие пинга НЕ говорит о том, что есть возможность соединения по SMTP

  Ответить  
 
 автор: SerRock   (21.07.2008 в 12:22)   личное сообщение
 
 

ага, я разобрался, вся заморочка была в том, что администраторы и программисты у нас - два разных независимых отдела, и когда я понял, что ни ping, ни tracert не проходят, насел на главного сисадмина, он мне открыл какие-то доступы (до этого сказал, что все открыто), после чего заработало (правда, все равно через зад-цу, видно это парадигма их работы такая) ... Вобщем зря только вам морочил голову
Еще вопрос, а как отправить несколько вложенных файла, попробовал перечислить их через запятую, но отправился только первый
А можно ли на 2-3 адреса ...

  Ответить  
 
 автор: osmor   (21.07.2008 в 12:52)   личное сообщение
 
 

администраторы и программисты у нас - два разных независимых отдела - это нормально

несколько файлов
oMSG.AddAttachment для каждого файла
адреса через точку с запятой (или через запятую, не помню)

  Ответить  
 
 автор: serrock   (21.07.2008 в 13:48)   личное сообщение
 
 

ok, спасибо

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList