how to find if object intersects mesh collider (not bounding box, the actualy mesh)?

i know how to detect basic bounding box collisions

Collider collider1= obj1.GetComponent<Collider>();
Collider collider2= obj2.GetComponent<Collider>();
if (collider1.bounds.Intersects(collider2.bounds))
                    Debug.Log("collides with=" + objCollider.name);

but that’s not very accurate, i’d like to get if their actual meshes collide
so i tried

MeshCollider collider1= obj1.GetComponent<MeshCollider>();
 MeshCollider collider2= obj2.GetComponent<MeshCollider>();
 if (collider1.bounds.Intersects(collider2.bounds))
        Debug.Log("collides with=" + objCollider.name);

and no difference, any suggestions please?

thanks

Have you tried using OnCollisionEnter?
Unity - Scripting API: Collider.OnCollisionEnter(Collision)?