Here are a few things you can try to attach a file from a different directory:
1. Specify the full path to the file instead of just the filename:
```csharp
attachment = new System.Net.Mail.Attachment(@"C:\Path\To\File\Filename.ext");
```
2. Make sure the IIS user has read permissions to the directory containing the file.
3. Try using a relative path instead of absolute, e.g.
```csharp
attachment = new System.Net.Mail.Attachment(@"\Subfolder\Filename.ext");
```
4. Save the file temporarily in the web application's directory before attaching: