Can't send on behalf of with VBA

G

Gil

When I try to execute the following code from excel I get the messages
returned to me.
with the following message returned back. I can execute the code from
other computers and other accounts without this problem. According to
the server side people all of these accounts are identical so there
should be a problem sending on behalf of. In addition this user can
send on behalf of this address to this person manually, but for some
reason when then VBA runs the emails get sent back to her.

Any ideas?

Thanks,
Gil

Your message did not reach some or all of the intended recipients.

Subject: Biweekly Payroll Time Card Reports
Sent: 5/15/2008 10:19 AM

The following recipient(s) could not be reached:

Blah,Blah on 5/15/2008 10:19 AM
You do not have permission to send to this recipient. For
assistance, contact your system administrator.
MSEXCH:MSExchangeIS:/DC=edu/DC=xxxxx/DC=ad:EXCHANGEB



' Begin Sending Email Process...
For I = 7 To Myrange.Rows.Count
For index = 1 To FinalData.Rows.Count
If Myrange.Cells(I, 1) = FinalData.Cells(index, 4) Then
Set NewMessage = myOlApp.CreateItem(olMailItem)
NewMessage.SentOnBehalfOfName = "(e-mail address removed)"
With NewMessage
.Subject = "Biweekly Payroll Time Card Reports"
' Type message to contact here.
.Body = "Dear " & Myrange.Cells(I, 3) & "," & _
"Thank you! "
.To = Myrange.Cells(I, 4)
NewMessage.Attachments.Add (Rate_File & "_" & _
FinalData.Cells(index, 4) & ".doc")
' Send the message to Resume ClickYes
Res = SendMessage(wnd, uClickYes, 1, 0)
' Send Report to department contact
.Send
' Send the message to Suspend ClickYes
Res = SendMessage(wnd, uClickYes, 0, 0)
End With ' NewMessage

Set NewMessage = Nothing
index = FinalData.Rows.Count + 1
End If
Next index
Next I
 
K

Ken Slovak - [MVP - Outlook]

Are you sure that the data you're putting into .To is a good email address?
Try getting the Recipients collection of the email item and using the
Recipients.ResolveAll() method and then checking each Recipient object in
the Recipients collection for Recipient.Resolved to make sure you won't get
that error.
 
G

Gil

I can run the same code with the same source data from my pc with
office 2007 and not receive the error. I will add the code to resolve
the recipients though.

-Gil




Are you sure that the data you're putting into .To is a good email address?
Try getting the Recipients collection of the email item and using the
Recipients.ResolveAll() method and then checking each Recipient object in
the Recipients collection for Recipient.Resolved to make sure you won't get
that error.

--
Ken Slovak
[MVP - Outlook]http://www.slovaktech.com
Author: Professional Programming Outlook 2007.
Reminder Manager, Extended Reminders, Attachment Options.http://www.slovaktech.com/products.htm




When I try to execute the following code from excel I get the messages
returned to me.
with the following message returned back. I can execute the code from
other computers and other accounts without this problem. According to
the server side people all of these accounts are identical so there
should be a problem sending on behalf of. In addition this user can
send on behalf of this address to this person manually, but for some
reason when then VBA runs the emails get sent back to her.
Any ideas?

Your message did not reach some or all of the intended recipients.
     Subject:            Biweekly Payroll Time Card Reports
     Sent:                 5/15/2008 10:19 AM
The following recipient(s) could not be reached:
     Blah,Blah on 5/15/2008 10:19 AM
           You do not have permission to send to this recipient.  For
assistance, contact your system administrator.
           MSEXCH:MSExchangeIS:/DC=edu/DC=xxxxx/DC=ad:EXCHANGEB
   ' Begin Sending Email Process...
   For I = 7 To Myrange.Rows.Count
       For index = 1 To FinalData.Rows.Count
            If Myrange.Cells(I, 1) = FinalData.Cells(index, 4) Then
                  Set NewMessage = myOlApp.CreateItem(olMailItem)
                  NewMessage.SentOnBehalfOfName = "(e-mail address removed)"
                  With NewMessage
                      .Subject = "Biweekly Payroll Time Card Reports"
                      ' Type message to contact here.
                      .Body = "Dear " & Myrange..Cells(I, 3) & "," & _
                              "Thank you!"
                      .To = Myrange.Cells(I, 4)
                      NewMessage.Attachments.Add (Rate_File & "_" & _
                           FinalData.Cells(index, 4) & ".doc")
                      ' Send the message to Resume ClickYes
                      Res = SendMessage(wnd, uClickYes, 1, 0)
                      ' Send Report to departmentcontact
                      .Send
                      ' Send the message to Suspend ClickYes
                      Res = SendMessage(wnd, uClickYes, 0, 0)
                  End With ' NewMessage
                  Set NewMessage = Nothing
                  index = FinalData.Rows.Count + 1
            End If
       Next index
   Next I- Hide quoted text -

- Show quoted text -
 
G

Gil

I can run the same code with the same source data from my pc with
office 2007 and not receive the error. I will add the code to resolve
the recipients though.

-Gil

Are you sure that the data you're putting into .To is a good email address?
Try getting the Recipients collection of the email item and using the
Recipients.ResolveAll() method and then checking each Recipient object in
the Recipients collection for Recipient.Resolved to make sure you won'tget
that error.
--
Ken Slovak
[MVP - Outlook]http://www.slovaktech.com
Author: Professional Programming Outlook 2007.
Reminder Manager, Extended Reminders, Attachment Options.http://www.slovaktech.com/products.htm
- Show quoted text -- Hide quoted text -

- Show quoted text -

Problem resolved. The client was running in cache mode. Once I
disabled that the messages sent successfully. Being ignorant of cache
mode, why would that cause the emails to bounce back?

Thanks,
Gil
 
K

Ken Slovak - [MVP - Outlook]

It shouldn't that I know of. I use cached mode here and haven't seen
anything like that.




<snip>
Problem resolved. The client was running in cache mode. Once I
disabled that the messages sent successfully. Being ignorant of cache
mode, why would that cause the emails to bounce back?

Thanks,
Gil
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top